Example #1
0
    def postdeploy(self):
        self.restore_iscsi_initiator_info()
        controller = env_util.get_one_controller(self.env)
        # FIXME: Add more correct handling of case
        # when node may have not full name in services data
        try:
            ssh.call(
                ["sh", "-c", ". /root/openrc; "
                 "nova service-enable {0} nova-compute".format(
                     self.node.data['fqdn'])],
                node=controller,
            )
        except subprocess.CalledProcessError as exc:
            LOG.warn("Cannot start service 'nova-compute' on {0} "
                     "by reason: {1}. Try again".format(
                         self.node.data['fqdn'], exc))
            ssh.call(
                ["sh", "-c", ". /root/openrc; "
                 "nova service-enable {0} nova-compute".format(
                     self.node.data['fqdn'].split('.', 1)[0])],
                node=controller,
            )

        orig_version = self.orig_env.data["fuel_version"]
        if orig_version == "6.1":
            openstack_release = magic_consts.VERSIONS[orig_version]
            node_util.add_compute_upgrade_levels(self.node, openstack_release)

            ssh.call(["service", "nova-compute", "restart"], node=self.node)
Example #2
0
    def postdeploy(self):
        self.restore_iscsi_initiator_info()
        controller = env_util.get_one_controller(self.env)
        # FIXME: Add more correct handling of case
        # when node may have not full name in services data
        try:
            ssh.call(
                [
                    "sh", "-c", ". /root/openrc; "
                    "nova service-enable {0} nova-compute".format(
                        self.node.data['fqdn'])
                ],
                node=controller,
            )
        except subprocess.CalledProcessError as exc:
            LOG.warn("Cannot start service 'nova-compute' on {0} "
                     "by reason: {1}. Try again".format(
                         self.node.data['fqdn'], exc))
            ssh.call(
                [
                    "sh", "-c", ". /root/openrc; "
                    "nova service-enable {0} nova-compute".format(
                        self.node.data['fqdn'].split('.', 1)[0])
                ],
                node=controller,
            )

        orig_version = self.orig_env.data["fuel_version"]
        if orig_version == "6.1":
            openstack_release = magic_consts.VERSIONS[orig_version]
            node_util.add_compute_upgrade_levels(self.node, openstack_release)

            ssh.call(["service", "nova-compute", "restart"], node=self.node)
Example #3
0
    def postdeploy(self):
        # From neutron_update_admin_tenant_id
        sftp = ssh.sftp(self.node)
        with ssh.update_file(sftp, '/etc/neutron/neutron.conf') as (old, new):
            for line in old:
                if line.startswith('nova_admin_tenant_id'):
                    new.write('nova_admin_tenant_id = {0}\n'.format(
                        self.service_tenant_id))
                else:
                    new.write(line)
        orig_version = self.orig_env.data["fuel_version"]
        if orig_version == "6.1":
            openstack_release = magic_consts.VERSIONS[orig_version]
            node_util.add_compute_upgrade_levels(self.node, openstack_release)

            nova_services = ssh.call_output(
                ["bash", "-c",
                 "initctl list | "
                 "awk '/nova/ && /start/ {print $1}' | tr '\n' ' '"],
                node=self.node
            )

            for nova_service in nova_services.split():
                ssh.call(["service", nova_service, "restart"], node=self.node)

        ssh.call(['restart', 'neutron-server'], node=self.node)
        if self.isolated and self.gateway:
            # From restore_default_gateway
            LOG.info("Deleting default route at node %s",
                     self.node.id)
            try:
                ssh.call(['ip', 'route', 'delete', 'default'], node=self.node)
            except subprocess.CalledProcessError as exc:
                LOG.warn("Cannot delete default route at node %s: %s",
                         self.node.id, exc.args[0])
            LOG.info("Set default route at node %s: %s",
                     self.node.id, self.gateway)
            ssh.call(['ip', 'route', 'add', 'default', 'via', self.gateway],
                     node=self.node)
Example #4
0
    def postdeploy(self):
        # From neutron_update_admin_tenant_id
        sftp = ssh.sftp(self.node)
        with ssh.update_file(sftp, '/etc/neutron/neutron.conf') as (old, new):
            for line in old:
                if line.startswith('nova_admin_tenant_id'):
                    new.write('nova_admin_tenant_id = {0}\n'.format(
                        self.service_tenant_id))
                else:
                    new.write(line)
        orig_version = self.orig_env.data["fuel_version"]
        if orig_version == "6.1":
            openstack_release = magic_consts.VERSIONS[orig_version]
            node_util.add_compute_upgrade_levels(self.node, openstack_release)

            nova_services = ssh.call_output([
                "bash", "-c", "initctl list | "
                "awk '/nova/ && /start/ {print $1}' | tr '\n' ' '"
            ],
                                            node=self.node)

            for nova_service in nova_services.split():
                ssh.call(["service", nova_service, "restart"], node=self.node)

        ssh.call(['restart', 'neutron-server'], node=self.node)
        if self.isolated and self.gateway:
            # From restore_default_gateway
            LOG.info("Deleting default route at node %s", self.node.id)
            try:
                ssh.call(['ip', 'route', 'delete', 'default'], node=self.node)
            except subprocess.CalledProcessError as exc:
                LOG.warn("Cannot delete default route at node %s: %s",
                         self.node.id, exc.args[0])
            LOG.info("Set default route at node %s: %s", self.node.id,
                     self.gateway)
            ssh.call(['ip', 'route', 'add', 'default', 'via', self.gateway],
                     node=self.node)
Example #5
0
def test_add_compute_upgrade_levels(mocker, node, content, expected_content):
    with _check_upgrade_levels(mocker, node, content, expected_content):
        node_util.add_compute_upgrade_levels(node, 'kilo')
Example #6
0
def test_add_compute_upgrade_levels(mocker, node, content, expected_content):
    with _check_upgrade_levels(mocker, node, content, expected_content):
        node_util.add_compute_upgrade_levels(node, 'kilo')
Example #7
0
def set_upgrade_levels(env):
    version = env.data["fuel_version"]
    openstack_release = nova.get_upgrade_levels(version)
    for node in get_nodes(env, ["controller", "compute"]):
        node_util.add_compute_upgrade_levels(node, openstack_release)
        node_util.restart_nova_services(node)