Exemple #1
0
    def __init__(self):
        self.mysql = mysql_svc.MySQL()
        cnf_ctl = MysqlCnfController() if __mysql__['behavior'] in ('mysql2', 'percona') else None  # mariadb dont do old presets 
        ServiceCtlHandler.__init__(self,
                        __mysql__['behavior'],
                        self.mysql.service,
                        cnf_ctl)

        self.preset_provider = mysql_svc.MySQLPresetProvider()
        preset_service.services[__mysql__['behavior']] = self.preset_provider

        bus.on(init=self.on_init, reload=self.on_reload)
        bus.define_events(
                'before_mysql_data_bundle',
                'mysql_data_bundle',
                # @param host: New master hostname
                'before_mysql_change_master',
                # @param host: New master hostname
                # @param log_file: log file to start from
                # @param log_pos: log pos to start from
                'mysql_change_master'
                'before_slave_promote_to_master',
                'slave_promote_to_master'
        )

        self._mysql_api = mysql_api.MySQLAPI()
        self._op_api = operation_api.OperationAPI()
        self._backup_id = None
        self._data_bundle_id = None
        self.on_reload()
Exemple #2
0
 def test_create_hook(self):
     bus.base_path = os.path.realpath(os.path.dirname(__file__) + "/../../..")
     config = ConfigParser()
     config.read(bus.base_path + "/etc/config.ini")
     bus.config = config
     init_tests()
     resources_path = os.path.realpath(os.path.dirname(__file__) + "/../../" + "resources")
     bus.base_path = resources_path
     server_id = config.get(configtool.SECT_GENERAL, configtool.OPT_SERVER_ID)
     bus.define_events("init", "test")
     handler = hooks.HooksHandler()
     bus.fire('init')
     bus.fire("test", "test_2_done", aenv="test_3_done")
     #absolutely valid script created an empty file
     self.assertTrue(os.path.exists(resources_path + "/hooks/test_1_done"))
     #next script created a file named as 1st execution parameter
     self.assertTrue(os.path.exists(resources_path + "/hooks/test_2_done"))
     #3rd script touched file named $aenv
     self.assertTrue(os.path.exists(resources_path + "/hooks/test_3_done"))
     #test 4 touched file named server_id
     self.assertTrue(os.path.exists(resources_path + "/hooks/" + server_id))
     #test 5 doesn`t have an execution bit
     self.assertFalse(os.path.exists(resources_path + "/hooks/test_5_done"))
     #test 6 tried to execute script file with Exec format error
     self.assertFalse(os.path.exists(resources_path + "/hooks/test_6_done"))
     #test 7 consists an execution error
     self.assertTrue(os.path.exists(resources_path + "/hooks/test_7_done"))
     #test8 script has not a valid name , so supposed not to be executed
     self.assertFalse(os.path.exists(resources_path + "/hooks/test_8_done"))
Exemple #3
0
    def __init__(self):
        self._service_name = SERVICE_NAME
        ServiceCtlHandler.__init__(self, SERVICE_NAME,
                                   initdv2.lookup(SERVICE_NAME))
        bus.on("init", self.on_init)
        bus.define_events(
            'before_postgresql_data_bundle',
            'postgresql_data_bundle',

            # @param host: New master hostname
            'before_postgresql_change_master',

            # @param host: New master hostname
            'postgresql_change_master',
            'before_slave_promote_to_master',
            'slave_promote_to_master')

        self._phase_postgresql = 'Configure PostgreSQL'
        self._phase_data_bundle = self._op_data_bundle = 'PostgreSQL data bundle'
        self._phase_backup = self._op_backup = 'PostgreSQL backup'
        self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
        self._step_accept_scalr_conf = 'Accept Scalr configuration'
        self._step_patch_conf = 'Patch configuration files'
        self._step_create_storage = 'Create storage'
        self._step_init_master = 'Initialize Master'
        self._step_init_slave = 'Initialize Slave'
        self._step_create_data_bundle = 'Create data bundle'
        self._step_change_replication_master = 'Change replication Master'
        self._step_collect_host_up_data = 'Collect HostUp data'

        self.on_reload()
Exemple #4
0
 def __init__(self):
     self._service_name = SERVICE_NAME
     ServiceCtlHandler.__init__(self, SERVICE_NAME, initdv2.lookup(SERVICE_NAME))
     bus.on("init", self.on_init)
     bus.define_events(
         'before_postgresql_data_bundle',
         
         'postgresql_data_bundle',
         
         # @param host: New master hostname 
         'before_postgresql_change_master',
         
         # @param host: New master hostname 
         'postgresql_change_master',
         
         'before_slave_promote_to_master',
         
         'slave_promote_to_master'
     )   
     
     self._phase_postgresql = 'Configure PostgreSQL'
     self._phase_data_bundle = self._op_data_bundle = 'PostgreSQL data bundle'
     self._phase_backup = self._op_backup = 'PostgreSQL backup'
     self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
     self._step_accept_scalr_conf = 'Accept Scalr configuration'
     self._step_patch_conf = 'Patch configuration files'
     self._step_create_storage = 'Create storage'
     self._step_init_master = 'Initialize Master'
     self._step_init_slave = 'Initialize Slave'
     self._step_create_data_bundle = 'Create data bundle'
     self._step_change_replication_master = 'Change replication Master'
     self._step_collect_host_up_data = 'Collect HostUp data'
     
     self.on_reload()        
    def setUp(self):
        bus.etc_path = os.path.join(RESOURCE_PATH, 'etc')
        cnf = ScalarizrCnf(bus.etc_path)
        cnf.load_ini('ip_list_builder')
        bus.cnf = cnf

        bus.queryenv_service = _QueryEnv()
        bus.define_events("before_host_up", "init")

        self.ip_lb = ip_list_builder.IpListBuilder()
    def setUp(self):
        bus.etc_path = os.path.join(RESOURCE_PATH, 'etc')
        cnf = ScalarizrCnf(bus.etc_path)
        cnf.load_ini('ip_list_builder')
        bus.cnf = cnf

        bus.queryenv_service = _QueryEnv()
        bus.define_events("before_host_up", "init")

        self.ip_lb = ip_list_builder.IpListBuilder()
Exemple #7
0
    def __init__(self):
        super(LifeCycleHandler, self).__init__()
        self._logger = logging.getLogger(__name__)
        self._op_api = operation.OperationAPI()
        self._system_api = system_api.SystemAPI()

        bus.define_events(
            # Fires before HostInit message is sent
            # @param msg
            "before_host_init",
            # Fires after HostInit message is sent
            "host_init",
            # Fires when HostInitResponse received
            # @param msg
            "host_init_response",
            # Fires before HostUp message is sent
            # @param msg
            "before_host_up",
            # Fires after HostUp message is sent
            "host_up",
            # Fires before RebootStart message is sent
            # @param msg
            "before_reboot_start",
            # Fires after RebootStart message is sent
            "reboot_start",
            # Fires before RebootFinish message is sent
            # @param msg
            "before_reboot_finish",
            # Fires after RebootFinish message is sent
            "reboot_finish",
            # Fires before Restart message is sent
            # @param msg: Restart message
            "before_restart",
            # Fires after Restart message is sent
            "restart",
            # Fires before Hello message is sent
            # @param msg
            "before_hello",
            # Fires after Hello message is sent
            "hello",
            # Fires after HostDown message is sent
            # @param msg
            "before_host_down",
            # Fires after HostDown message is sent
            "host_down",
            #
            # Service events
            #
            # Fires when behaviour is configured
            # @param service_name: Service name. Ex: mysql
            "service_configured",
        )
        bus.on(init=self.on_init, start=self.on_start, reload=self.on_reload, shutdown=self.on_shutdown)
        self.on_reload()
Exemple #8
0
    def __init__(self):
        Handler.__init__(self)

        self._initial_preset = None
        self._initial_v_hosts = []

        self._queryenv = bus.queryenv_service
        self.api = apache_api.ApacheAPI()
        self.preset_provider = ApachePresetProvider()

        bus.on(init=self.on_init)
        bus.define_events("apache_rpaf_reload")
Exemple #9
0
    def __init__(self):
        Handler.__init__(self)

        self._initial_preset = None
        self._initial_v_hosts = []

        self._queryenv = bus.queryenv_service
        self.api = apache_api.ApacheAPI()
        self.preset_provider = ApachePresetProvider()

        bus.on(init=self.on_init)
        bus.define_events("apache_rpaf_reload")
Exemple #10
0
    def setUp(self):
        bus.etc_path = os.path.join(RESOURCE_PATH, 'etc')
        cnf = ScalarizrCnf(bus.etc_path)
        cnf.load_ini('app')
        bus.cnf = cnf
        self._cnf = bus.cnf

        bus.base_path = os.path.realpath(RESOURCE_PATH + "/../../..")
        bus.share_path = os.path.join(bus.base_path, 'share')

        bus.queryenv_service = qe
        bus.define_events("before_host_down", "init")
        '''
Exemple #11
0
    def setUp(self):

        bus.etc_path = os.path.join(RESOURCE_PATH, 'etc')
        cnf = ScalarizrCnf(bus.etc_path)
        cnf.load_ini('www')
        bus.cnf = cnf
        self._cnf = bus.cnf

        bus.base_path = os.path.realpath(RESOURCE_PATH + "/../../..")
        bus.share_path = os.path.join(bus.base_path, 'share')

        bus.queryenv_service = _EmptyQueryEnv()
        bus.define_events("before_host_down", "init")
Exemple #12
0
    def __init__(self):
        self._cnf = bus.cnf
        ServiceCtlHandler.__init__(self, BEHAVIOUR, initdv2.lookup('nginx'), NginxCnfController())

        self._logger = logging.getLogger(__name__)
        self.preset_provider = NginxPresetProvider()
        self.api = NginxAPI()
        self._terminating_servers = []
        preset_service.services[BEHAVIOUR] = self.preset_provider

        bus.define_events("nginx_upstream_reload")
        bus.on(init=self.on_init, reload=self.on_reload)
        self.on_reload()
Exemple #13
0
    def __init__(self):
        self._cnf = bus.cnf
        self._nginx_v2_flag_filepath = os.path.join(bus.etc_path, "private.d/nginx_v2")
        ServiceCtlHandler.__init__(self, BEHAVIOUR, initdv2.lookup('nginx'), NginxCnfController())

        self._logger = logging.getLogger(__name__)
        self.preset_provider = NginxPresetProvider()
        self.api = NginxAPI()
        self.api.init_service()
        self._terminating_servers = []

        bus.define_events("nginx_upstream_reload")
        bus.on(init=self.on_init, reload=self.on_reload)
        self.on_reload()
Exemple #14
0
    def __init__(self):
        self._redis_api = redis_api.RedisAPI()
        self.preset_provider = redis.RedisPresetProvider()
        preset_service.services[BEHAVIOUR] = self.preset_provider

        from_port = __redis__['ports_range'][0]
        to_port = __redis__['ports_range'][-1]
        handlers.FarmSecurityMixin.__init__(self, ["{0}:{1}".format(from_port, to_port)])

        ServiceCtlHandler.__init__(self, SERVICE_NAME, cnf_ctl=RedisCnfController())

        bus.on("init", self.on_init)
        bus.define_events(
                'before_%s_data_bundle' % BEHAVIOUR,

                '%s_data_bundle' % BEHAVIOUR,

                # @param host: New master hostname
                'before_%s_change_master' % BEHAVIOUR,

                # @param host: New master hostname
                '%s_change_master' % BEHAVIOUR,

                'before_slave_promote_to_master',

                'slave_promote_to_master'
        )

        self._phase_redis = 'Configure Redis'
        self._phase_data_bundle = self._op_data_bundle = 'Redis data bundle'
        self._phase_backup = self._op_backup = 'Redis backup'
        self._step_copy_database_file = 'Copy database file'
        self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
        self._step_accept_scalr_conf = 'Accept Scalr configuration'
        self._step_patch_conf = 'Patch configuration files'
        self._step_create_storage = 'Create storage'
        self._step_init_master = 'Initialize Master'
        self._step_init_slave = 'Initialize Slave'
        self._step_create_data_bundle = 'Create data bundle'
        self._step_change_replication_master = 'Change replication Master'
        self._step_collect_host_up_data = 'Collect HostUp data'

        self.on_reload()

        if self._cnf.state == ScalarizrState.RUNNING:
            # Fix to enable access outside farm when use_passwords=True
            if self.use_passwords:
                self.security_off()
Exemple #15
0
    def __init__(self):
        self._redis_api = redis_api.RedisAPI()
        self.preset_provider = redis.RedisPresetProvider()
        preset_service.services[BEHAVIOUR] = self.preset_provider

        from_port = __redis__['ports_range'][0]
        to_port = __redis__['ports_range'][-1]
        handlers.FarmSecurityMixin.__init__(
            self, ["{0}:{1}".format(from_port, to_port)])

        ServiceCtlHandler.__init__(self,
                                   SERVICE_NAME,
                                   cnf_ctl=RedisCnfController())

        bus.on("init", self.on_init)
        bus.define_events(
            'before_%s_data_bundle' % BEHAVIOUR,
            '%s_data_bundle' % BEHAVIOUR,

            # @param host: New master hostname
            'before_%s_change_master' % BEHAVIOUR,

            # @param host: New master hostname
            '%s_change_master' % BEHAVIOUR,
            'before_slave_promote_to_master',
            'slave_promote_to_master')

        self._phase_redis = 'Configure Redis'
        self._phase_data_bundle = self._op_data_bundle = 'Redis data bundle'
        self._phase_backup = self._op_backup = 'Redis backup'
        self._step_copy_database_file = 'Copy database file'
        self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
        self._step_accept_scalr_conf = 'Accept Scalr configuration'
        self._step_patch_conf = 'Patch configuration files'
        self._step_create_storage = 'Create storage'
        self._step_init_master = 'Initialize Master'
        self._step_init_slave = 'Initialize Slave'
        self._step_create_data_bundle = 'Create data bundle'
        self._step_change_replication_master = 'Change replication Master'
        self._step_collect_host_up_data = 'Collect HostUp data'

        self.on_reload()

        if self._cnf.state == ScalarizrState.RUNNING:
            # Fix to enable access outside farm when use_passwords=True
            if self.use_passwords:
                self.security_off()
Exemple #16
0
    def __init__(self):
        self._rebundle_message = self._role_name = self._excludes = None
        bus.define_events(
            # Fires before rebundle starts
            "before_rebundle",

            # Fires after rebundle complete
            # @param param:
            "rebundle",

            # Fires on rebundle error
            # @param role_name
            "rebundle_error",

            # Fires on bundled volume cleanup. Usefull to remove password files, user activity, logs
            # @param rootdir
            "rebundle_cleanup_image")
Exemple #17
0
	def __init__(self):
		self._rebundle_message = self._role_name = self._excludes = None
		bus.define_events(
			# Fires before rebundle starts
			"before_rebundle", 
			
			# Fires after rebundle complete
			# @param param: 
			"rebundle", 
			
			# Fires on rebundle error
			# @param role_name
			"rebundle_error",
			
			# Fires on bundled volume cleanup. Usefull to remove password files, user activity, logs
			# @param rootdir 
			"rebundle_cleanup_image"
		)
Exemple #18
0
    def __init__(self, vol_type):
        super(BlockDeviceHandler, self).__init__()
        self._vol_type = vol_type
        self._volumes = []
        self.on_reload()

        bus.on(init=self.on_init, reload=self.on_reload)
        bus.define_events(
            # Fires when volume is attached to instance
            # @param device: device name, ex: /dev/sdf
            "block_device_attached",

            # Fires when volume is detached from instance
            # @param device: device name, ex: /dev/sdf
            "block_device_detached",

            # Fires when volume is mounted
            # @param device: device name, ex: /dev/sdf
            "block_device_mounted")
Exemple #19
0
    def __init__(self):
        self._hir_volume_growth = None
        self._redis_api = redis_api.RedisAPI()
        self.preset_provider = redis.RedisPresetProvider()

        from_port = __redis__['ports_range'][0]
        to_port = __redis__['ports_range'][-1]
        handlers.FarmSecurityMixin.__init__(self)
        ServiceCtlHandler.__init__(self, SERVICE_NAME, cnf_ctl=RedisCnfController())

        bus.on("init", self.on_init)
        bus.define_events(
                'before_%s_data_bundle' % BEHAVIOUR,

                '%s_data_bundle' % BEHAVIOUR,

                # @param host: New master hostname
                'before_%s_change_master' % BEHAVIOUR,

                # @param host: New master hostname
                '%s_change_master' % BEHAVIOUR,

                'before_slave_promote_to_master',

                'slave_promote_to_master'
        )

        self._phase_redis = 'Configure Redis'
        self._phase_data_bundle = self._op_data_bundle = 'Redis data bundle'
        self._phase_backup = self._op_backup = 'Redis backup'
        self._step_copy_database_file = 'Copy database file'
        self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
        self._step_accept_scalr_conf = 'Accept Scalr configuration'
        self._step_patch_conf = 'Patch configuration files'
        self._step_create_storage = 'Create storage'
        self._step_init_master = 'Initialize Master'
        self._step_init_slave = 'Initialize Slave'
        self._step_create_data_bundle = 'Create data bundle'
        self._step_change_replication_master = 'Change replication Master'
        self._step_collect_host_up_data = 'Collect HostUp data'

        self.on_reload()
Exemple #20
0
 def __init__(self, vol_type):
     super(BlockDeviceHandler, self).__init__()
     self._vol_type = vol_type
     self._volumes = []
     self.on_reload()
     
     bus.on(init=self.on_init, reload=self.on_reload)
     bus.define_events(
         # Fires when volume is attached to instance
         # @param device: device name, ex: /dev/sdf
         "block_device_attached", 
         
         # Fires when volume is detached from instance
         # @param device: device name, ex: /dev/sdf 
         "block_device_detached",
         
         # Fires when volume is mounted
         # @param device: device name, ex: /dev/sdf
         "block_device_mounted"
     )
Exemple #21
0
    def __init__(self, vol_type):
        self._vol_type = vol_type
        self._volumes = []
        self.on_reload()

        bus.on(init=self.on_init, reload=self.on_reload)
        bus.define_events(
            # Fires when volume is attached to instance
            # @param device: device name, ex: /dev/sdf
            "block_device_attached",

            # Fires when volume is detached from instance
            # @param device: device name, ex: /dev/sdf
            "block_device_detached",

            # Fires when volume is mounted
            # @param device: device name, ex: /dev/sdf
            "block_device_mounted")

        self._phase_plug_volume = 'Configure storage'
Exemple #22
0
	def __init__(self, vol_type):
		self._vol_type = vol_type
		self.on_reload()
		
		bus.on(init=self.on_init, reload=self.on_reload)
		bus.define_events(
			# Fires when volume is attached to instance
			# @param device: device name, ex: /dev/sdf
			"block_device_attached", 
			
			# Fires when volume is detached from instance
			# @param device: device name, ex: /dev/sdf 
			"block_device_detached",
			
			# Fires when volume is mounted
			# @param device: device name, ex: /dev/sdf
			"block_device_mounted"
		)
		
		self._phase_plug_volume = 'Configure storage'
    def __init__(self):
        self._service_name = SERVICE_NAME
        ServiceCtlHandler.__init__(self, SERVICE_NAME,
                                   initdv2.lookup(SERVICE_NAME))
        bus.on("init", self.on_init)
        bus.define_events(
            'before_postgresql_data_bundle',
            'postgresql_data_bundle',

            # @param host: New master hostname
            'before_postgresql_change_master',

            # @param host: New master hostname
            'postgresql_change_master',
            'before_slave_promote_to_master',
            'slave_promote_to_master')

        self._hir_volume_growth = None
        self._postgresql_api = postgresql_api.PostgreSQLAPI()

        self.on_reload()
Exemple #24
0
    def __init__(self, service_name, init_script=None, cnf_ctl=None):
        '''
        XXX: When migrating to the new preset system
        do not forget that self._service_name is essential for
        Handler.get_ready_behaviours() and should be overloaded
        in every ServiceCtlHandler child.

        '''
        self._service_name = service_name
        self._cnf_ctl = cnf_ctl
        self._init_script = init_script
        self._logger = logging.getLogger(__name__)
        self._preset_store = CnfPresetStore(self._service_name)

        Handler.__init__(self)

        self._queryenv = bus.queryenv_service
        bus.on('init', self.sc_on_init)
        bus.define_events(self._service_name + '_reload',
                          'before_' + self._service_name + '_configure',
                          self._service_name + '_configure')
Exemple #25
0
    def __init__(self):
        self._hir_volume_growth = None
        self._redis_api = redis_api.RedisAPI()
        self.preset_provider = redis.RedisPresetProvider()

        from_port = __redis__['ports_range'][0]
        to_port = __redis__['ports_range'][-1]
        handlers.FarmSecurityMixin.__init__(self)
        ServiceCtlHandler.__init__(self,
                                   SERVICE_NAME,
                                   cnf_ctl=RedisCnfController())

        bus.on("init", self.on_init)
        bus.define_events(
            'before_%s_data_bundle' % BEHAVIOUR,
            '%s_data_bundle' % BEHAVIOUR,

            # @param host: New master hostname
            'before_%s_change_master' % BEHAVIOUR,

            # @param host: New master hostname
            '%s_change_master' % BEHAVIOUR,
            'before_slave_promote_to_master',
            'slave_promote_to_master')

        self._phase_redis = 'Configure Redis'
        self._phase_data_bundle = self._op_data_bundle = 'Redis data bundle'
        self._phase_backup = self._op_backup = 'Redis backup'
        self._step_copy_database_file = 'Copy database file'
        self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
        self._step_accept_scalr_conf = 'Accept Scalr configuration'
        self._step_patch_conf = 'Patch configuration files'
        self._step_create_storage = 'Create storage'
        self._step_init_master = 'Initialize Master'
        self._step_init_slave = 'Initialize Slave'
        self._step_create_data_bundle = 'Create data bundle'
        self._step_change_replication_master = 'Change replication Master'
        self._step_collect_host_up_data = 'Collect HostUp data'

        self.on_reload()
Exemple #26
0
	def __init__(self):
		self.mysql = mysql_svc.MySQL()
		ServiceCtlHandler.__init__(self, 
				__mysql__['behavior'], 
				self.mysql.service, 
				MysqlCnfController())



		bus.on(init=self.on_init, reload=self.on_reload)
		bus.define_events(
			'before_mysql_data_bundle',
			'mysql_data_bundle',
			# @param host: New master hostname 
			'before_mysql_change_master',
			# @param host: New master hostname 
			# @param log_file: log file to start from 
			# @param log_pos: log pos to start from 
			'mysql_change_master'
			'before_slave_promote_to_master',
			'slave_promote_to_master'
		)
		
		self._phase_mysql = 'Configure MySQL'
		self._phase_data_bundle = self._op_data_bundle = 'MySQL data bundle'
		self._phase_backup = self._op_backup = 'MySQL backup'
		self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
		self._step_accept_scalr_conf = 'Accept Scalr configuration'
		self._step_patch_conf = 'Patch my.cnf configuration file'
		self._step_create_storage = 'Create storage'
		self._step_move_datadir = 'Move data directory to storage'
		self._step_create_users = 'Create Scalr users'
		self._step_restore_users = 'Restore Scalr users'
		self._step_create_data_bundle = 'Create data bundle'
		self._step_change_replication_master = 'Change replication Master'
		self._step_innodb_recovery = 'InnoDB recovery'
		self._step_collect_hostup_data = 'Collect HostUp data'
		
		
		self.on_reload()	
Exemple #27
0
    def __init__(self):
        self.preset_provider = redis.RedisPresetProvider()
        preset_service.services[BEHAVIOUR] = self.preset_provider

        handlers.FarmSecurityMixin.__init__(self, ["%s:%s" %
                 (redis.DEFAULT_PORT, redis.DEFAULT_PORT+redis.MAX_CUSTOM_PROCESSES)])
        ServiceCtlHandler.__init__(self, SERVICE_NAME, cnf_ctl=RedisCnfController())
        bus.on("init", self.on_init)
        bus.define_events(
                'before_%s_data_bundle' % BEHAVIOUR,

                '%s_data_bundle' % BEHAVIOUR,

                # @param host: New master hostname
                'before_%s_change_master' % BEHAVIOUR,

                # @param host: New master hostname
                '%s_change_master' % BEHAVIOUR,

                'before_slave_promote_to_master',

                'slave_promote_to_master'
        )

        self._phase_redis = 'Configure Redis'
        self._phase_data_bundle = self._op_data_bundle = 'Redis data bundle'
        self._phase_backup = self._op_backup = 'Redis backup'
        self._step_copy_database_file = 'Copy database file'
        self._step_upload_to_cloud_storage = 'Upload data to cloud storage'
        self._step_accept_scalr_conf = 'Accept Scalr configuration'
        self._step_patch_conf = 'Patch configuration files'
        self._step_create_storage = 'Create storage'
        self._step_init_master = 'Initialize Master'
        self._step_init_slave = 'Initialize Slave'
        self._step_create_data_bundle = 'Create data bundle'
        self._step_change_replication_master = 'Change replication Master'
        self._step_collect_host_up_data = 'Collect HostUp data'

        self.on_reload()
Exemple #28
0
    def __init__(self):
        self._service_name = SERVICE_NAME
        ServiceCtlHandler.__init__(self, SERVICE_NAME, initdv2.lookup(SERVICE_NAME))
        bus.on("init", self.on_init)
        bus.define_events(
            'before_postgresql_data_bundle',
            
            'postgresql_data_bundle',
            
            # @param host: New master hostname 
            'before_postgresql_change_master',
            
            # @param host: New master hostname 
            'postgresql_change_master',
            
            'before_slave_promote_to_master',
            
            'slave_promote_to_master'
        )   

        self._postgresql_api = postgresql_api.PostgreSQLAPI()

        self.on_reload()        
Exemple #29
0
    def __init__(self):
        self._logger = logging.getLogger(__name__)

        bus.define_events(
            # Fires before HostInit message is sent
            # @param msg
            "before_host_init",

            # Fires after HostInit message is sent
            "host_init",

            # Fires when HostInitResponse received
            # @param msg
            "host_init_response",

            # Fires before HostUp message is sent
            # @param msg
            "before_host_up",

            # Fires after HostUp message is sent
            "host_up",

            # Fires before RebootStart message is sent
            # @param msg
            "before_reboot_start",

            # Fires after RebootStart message is sent
            "reboot_start",

            # Fires before RebootFinish message is sent
            # @param msg
            "before_reboot_finish",

            # Fires after RebootFinish message is sent
            "reboot_finish",

            # Fires before Restart message is sent
            # @param msg: Restart message
            "before_restart",

            # Fires after Restart message is sent
            "restart",

            # Fires before Hello message is sent
            # @param msg
            "before_hello",

            # Fires after Hello message is sent
            "hello",

            # Fires after HostDown message is sent
            # @param msg
            "before_host_down",

            # Fires after HostDown message is sent
            "host_down",

            #
            # Service events
            #

            # Fires when behaviour is configured
            # @param service_name: Service name. Ex: mysql
            "service_configured")
        bus.on(init=self.on_init,
               start=self.on_start,
               reload=self.on_reload,
               shutdown=self.on_shutdown)
        self.on_reload()
Exemple #30
0
	def __init__(self):
		self._logger = logging.getLogger(__name__)
		
		bus.define_events(
			# Fires before HostInit message is sent
			# @param msg 
			"before_host_init",
			
			# Fires after HostInit message is sent
			"host_init",
			
			# Fires when HostInitResponse received
			# @param msg
			"host_init_response",
			
			# Fires before HostUp message is sent
			# @param msg
			"before_host_up",
			
			# Fires after HostUp message is sent
			"host_up",
			
			# Fires before RebootStart message is sent
			# @param msg
			"before_reboot_start",
			
			# Fires after RebootStart message is sent
			"reboot_start",
			
			# Fires before RebootFinish message is sent
			# @param msg
			"before_reboot_finish",
			
			# Fires after RebootFinish message is sent
			"reboot_finish",
			
			# Fires before Restart message is sent
			# @param msg: Restart message
			"before_restart",
			
			# Fires after Restart message is sent
			"restart",
			
			# Fires before Hello message is sent
			# @param msg
			"before_hello",
			
			# Fires after Hello message is sent
			"hello",
			
			# Fires after HostDown message is sent
			# @param msg
			"before_host_down",
			
			# Fires after HostDown message is sent
			"host_down",
			
			# 
			# Service events
			#
			
			# Fires when behaviour is configured
			# @param service_name: Service name. Ex: mysql
			"service_configured"
		)
		bus.on(
			init=self.on_init, 
			start=self.on_start, 
			reload=self.on_reload, 
			before_reboot_finish=self.on_before_reboot_finish,
			shutdown=self.on_shutdown
		)
		self.on_reload()
Exemple #31
0
    def __init__(self):
        super(LifeCycleHandler, self).__init__()
        self._logger = logging.getLogger(__name__)
        self._op_api = operation.OperationAPI()
        self._system_api = system_api.SystemAPI()
        self._hostname_assigned = False
        self._reboot_finish_lock = threading.Lock()

        bus.define_events(
            # Fires before HostInit message is sent
            # @param msg
            "before_host_init",

            # Fires after HostInit message is sent
            "host_init",

            # Fires when HostInitResponse received
            # @param msg
            "host_init_response",

            # Fires before HostUp message is sent
            # @param msg
            "before_host_up",

            # Fires after HostUp message is sent
            "host_up",

            # Fires before RebootStart message is sent
            # @param msg
            "before_reboot_start",

            # Fires after RebootStart message is sent
            "reboot_start",

            # Fires before RebootFinish message is sent
            # @param msg
            "before_reboot_finish",

            # Fires after RebootFinish message is sent
            "reboot_finish",

            # Fires before Restart message is sent
            # @param msg: Restart message
            "before_restart",

            # Fires after Restart message is sent
            "restart",

            # Fires before Hello message is sent
            # @param msg
            "before_hello",

            # Fires after Hello message is sent
            "hello",

            # Fires after HostDown message is sent
            # @param msg
            "before_host_down",

            # Fires after HostDown message is sent
            "host_down",

            #
            # Service events
            #

            # Fires when behaviour is configured
            # @param service_name: Service name. Ex: mysql
            "service_configured")
        bus.on(init=self.on_init,
               start=self.on_start,
               reload=self.on_reload,
               shutdown=self.on_shutdown)
        self.on_reload()