def push(self, env_sessions, options): journal = self.__init_journal(options.journal_consumer) journal.section('Processing Package') journal.event('Processing {0}'.format(self.path)) push_workspace = self.__create_push_workspace() files.clean_directory(push_workspace) pkg_content = self.open(push_workspace) pkg_content.push(env_sessions, options) return pkg_content
def __reonboard_rm(self, lm_session, rm_name, journal): onboarding_driver = lm_session.onboard_rm_driver try: rm_data = onboarding_driver.get_rm_by_name(rm_name) except lm_drivers.NotFoundException as e: msg = 'Could not find RM named \'{0}\' in LM environment'.format( rm_name) journal.error_event(msg) raise PushError(msg) from e journal.event( 'Refreshing LM ({0}) view of RM known as {1} with url {2}'.format( lm_session.env.address, rm_name, rm_data['url'])) onboarding_driver.update_rm(rm_data)
def __post_process_updated_environments(self, env_sessions, options, journal): updating_an_env = False if env_sessions.is_arm_updated(): updating_an_env = True lm_session = env_sessions.lm arm_session = env_sessions.arm self.__reonboard_rm(lm_session, arm_session.env.name, journal) if env_sessions.is_brent_updated(): updating_an_env = True lm_session = env_sessions.lm brent_name = lm_session.env.brent_name self.__reonboard_rm(lm_session, brent_name, journal) if not updating_an_env: journal.event('No environments to update')
def push(self, env_sessions, options): journal = self.__init_journal(options.journal_consumer) journal.section('Processing Package') journal.event('Processing {0}'.format(self.path)) push_workspace = self.__create_push_workspace() files.clean_directory(push_workspace) pkg_content = self.open(push_workspace) if self.__is_etsi_pkg(pkg_content.meta): etsi_push_exec.EtsiPushProcess(self, pkg_content.meta, journal, env_sessions, push_workspace).execute() else: pkg_content.push(env_sessions, options) return pkg_content