def post_proc(self): """ post processing for nova-cloud-controller """ super(CharmNovaCloudController, self).post_proc() svc = self.juju_state.service(self.charm_name) unit = svc.unit(self.charm_name) k_svc = self.juju_state.service('keystone') keystone = k_svc.unit('keystone') openstack_password = self.config.getopt('openstack_password') public_address = keystone.public_address if is_ipv6(public_address): public_address = "[%s]".format(public_address) log.debug("Found ipv6 address, {}".format(public_address)) if unit.machine_id == '-1': return True for u in ['admin', 'ubuntu']: env = self._openstack_env(u, openstack_password, u, public_address) self._openstack_env_save(u, env) setup_script_path = self.render_setup_script() cmds = ("bash {script} " "\"{password}\" \"{install_type}\" " "> {cfg_home}/script.log 2>&1".format( script=setup_script_path, password=openstack_password, cfg_home=self.config.cfg_path, install_type=self.config.getopt('install_type'))) err = utils.get_command_output(cmds) if err['status'] != 0: raise CharmPostProcessException(err)
def post_proc(self): """ post processing for nova-cloud-controller """ super(CharmNovaCloudController, self).post_proc() svc = self.juju_state.service(self.charm_name) unit = svc.unit(self.charm_name) k_svc = self.juju_state.service('keystone') keystone = k_svc.unit('keystone') openstack_password = self.config.getopt('openstack_password') public_address = keystone.public_address if is_ipv6(public_address): public_address = "[%s]".format(public_address) log.debug("Found ipv6 address, {}".format(public_address)) if unit.machine_id == '-1': return True for u in ['admin', 'ubuntu']: env = self._openstack_env(u, openstack_password, u, public_address) self._openstack_env_save(u, env) setup_script_path = self.render_setup_script() cmds = ("bash {script} " "\"{password}\" \"{install_type}\" " "> {cfg_home}/script.log 2>&1".format( script=setup_script_path, password=openstack_password, cfg_home=self.config.cfg_path, install_type=self.config.getopt('install_type') )) err = utils.get_command_output(cmds) if err['status'] != 0: raise CharmPostProcessException(err)
def post_proc(self): """ post processing for nova-cloud-controller """ svc = self.juju_state.service(self.charm_name) unit = svc.unit(self.charm_name) k_svc = self.juju_state.service('keystone') keystone = k_svc.unit('keystone') openstack_password = self.config.getopt('openstack_password') public_address = keystone.public_address if is_ipv6(public_address): public_address = "[%s]".format(public_address) log.debug("Found ipv6 address, {}".format(public_address)) if unit.machine_id == '-1': return True for u in ['admin', 'ubuntu']: env = self._openstack_env(u, openstack_password, u, public_address) self._openstack_env_save(u, env) utils.remote_cp( unit.machine_id, src=self._openstack_env_path(u), dst='/tmp/openstack-{u}-rc'.format(u=u), juju_home=self.config.juju_home(use_expansion=True)) setup_script_path = self.render_setup_script() remote_setup_script_path = "/tmp/nova-controller-setup.sh" utils.remote_cp( unit.machine_id, src=setup_script_path, dst=remote_setup_script_path, juju_home=self.config.juju_home(use_expansion=True)) utils.remote_run( unit.machine_id, cmds="chmod +x {}".format(remote_setup_script_path), juju_home=self.config.juju_home(use_expansion=True)) utils.remote_cp( unit.machine_id, src=utils.ssh_pubkey(), dst="/tmp/id_rsa.pub", juju_home=self.config.juju_home(use_expansion=True)) err = utils.remote_run( unit.machine_id, cmds="/tmp/nova-controller-setup.sh " "\"{p}\" \"{install_type}\"".format( p=openstack_password, install_type=self.config.getopt('install_type')), juju_home=self.config.juju_home(use_expansion=True)) if err['status'] != 0: # something happened during nova setup, re-run return True return False
def test_is_no_ipv6(self): """ Should not be ip6 address """ self.assertFalse(is_ipv6(self.ipv4))
def test_is_ipv6(self): """ Should be an ipv6 address """ self.assertTrue(is_ipv6(self.ipv6))