Example #1
0
 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
Example #2
0
 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)
Example #3
0
    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')
Example #4
0
File: core.py Project: IBM/lmctl
    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