From: Konrad Rzeszutek Wilk <konrad@kernel.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [OSSTEST PATCH v7 1/3] ts-openstack-deploy: Deploy OpenStack on a host with devstack
Date: Tue, 15 Nov 2016 16:40:42 -0500 [thread overview]
Message-ID: <20161115214042.GA29122@x230.dumpdata.com> (raw)
In-Reply-To: <20161114123334.5585-2-anthony.perard@citrix.com>
On Mon, Nov 14, 2016 at 12:33:32PM +0000, Anthony PERARD wrote:
> This script installs any necessary packages and clones all of the OpenStack
> trees which are used by devstack to deploy OpenStack.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
.. snip..
> diff --git a/ts-openstack-deploy b/ts-openstack-deploy
> new file mode 100755
> index 0000000..f26963a
> --- /dev/null
> +++ b/ts-openstack-deploy
> @@ -0,0 +1,132 @@
> +#!/usr/bin/perl
> +# This is part of "osstest", an automated testing framework for Xen.
> +# Copyright (C) 2015 Citrix Inc.
2016.
> +#
> +# This program is free software: you can redistribute it and/or modify
> +# it under the terms of the GNU Affero General Public License as published by
> +# the Free Software Foundation, either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU Affero General Public License for more details.
> +#
> +# You should have received a copy of the GNU Affero General Public License
> +# along with this program. If not, see <http://www.gnu.org/licenses/>.
> +
> +use strict qw(vars);
> +use Osstest;
> +use Osstest::TestSupport;
> +use Osstest::BuildSupport;
> +
> +tsreadconfig();
> +our ($whhost) = @ARGV;
> +$whhost ||= 'host';
> +our $ho = selecthost($whhost);
> +our $builddir = target_jobdir($ho);
> +
> +sub packages () {
> + target_install_packages($ho, qw(git sudo));
> +}
> +sub checkout () {
> + prepbuilddirs();
> + build_clone($ho, 'cinder', $builddir, 'cinder');
> + build_clone($ho, 'devstack', $builddir, 'devstack');
> + build_clone($ho, 'glance', $builddir, 'glance');
> + build_clone($ho, 'keystone', $builddir, 'keystone');
> + build_clone($ho, 'nova', $builddir, 'nova');
> + build_clone($ho, 'requirements', $builddir, 'requirements');
> + build_clone($ho, 'tempest', $builddir, 'tempest');
> +
> + my $vg = target_choose_vg($ho, 10*1024); # 10GB
> + target_putfilecontents_stash($ho, 60, <<END, $builddir.'/devstack/local.conf');
> +[[local|localrc]]
> +# Everything should be cloned by osstest, so devstack don't have to do it
> +ERROR_ON_CLONE=True
> +USE_SCREEN=False
> +ADMIN_PASSWORD=secretadmin
> +DATABASE_PASSWORD=secretdatabase
> +RABBIT_PASSWORD=secretrabbit
> +SERVICE_PASSWORD=secretservice
> +SERVICE_TOKEN=atokenserviced
> +# make it small because there is no way to not have this lvm volume created
> +VOLUME_BACKING_FILE_SIZE=50M
> +CINDER_LVM_TYPE=default
> +DEST=$builddir
> +DATA_DIR=\$DEST/data
> +SERVICE_DIR=\$DEST/status
> +SUBUNIT_OUTPUT=\$DEST/devstack.subunit
> +LOGFILE=\$DEST/logs/stack.sh.log
> +LOG_COLOR=False
> +LIBVIRT_TYPE=xen
> +disable_service horizon
> +disable_service n-novnc
> +disable_service dstat
> +enable_service n-obj
> +# Disable neutron and switch back to nova-network
> +disable_service q-svc
> +disable_service q-dhcp
> +disable_service q-meta
> +disable_service q-agt
> +disable_service q-l3
> +enable_service n-net
> +[[post-config|\$CINDER_CONF]]
> +[lvmdriver-1]
> +volume_group = $vg
> +END
> +
> + # libvirt is already installed, but not as a package, so avoid installation of
> + # the libvirt package with devstack
> + # https://bugs.launchpad.net/devstack/+bug/1641144
> + target_editfile($ho, "$builddir/devstack/files/debs/nova", sub {
> + while (<EI>) {
> + next if m/.*libvirt.*/;
> + print EO or die $!;
> + }
> + });
> + target_editfile($ho, "$builddir/devstack/lib/nova_plugins/functions-libvirt", sub {
> + while (<EI>) {
> + next if m/install_package.*libvirt.*/;
> + print EO or die $!;
> + }
> + });
> +
> + # devstack blindly assume that systemd is used if systemctl is present
> + # https://bugs.launchpad.net/devstack/+bug/1641112
Would it make sense to put xen-devel as an CC on those bugs so when
there is an resolution these changes would be removed?
Or would we keep them forever (which looks to be OK).
> + target_editfile($ho, "$builddir/devstack/functions-common", sub {
> + while (<EI>) {
> + if (m#\[ -x /bin/systemctl#) {
> + s#\[ -x /bin/systemctl \]#false#
> + }
> + print EO or die $!;
> + }
> + });
> +
> + # OpenStack needs access to libvirt from a user.
> + target_cmd_root($ho, <<END);
> + addgroup --system libvirt
> + cat >> /etc/libvirt/libvirtd.conf <<EOF
> +unix_sock_group = "libvirt"
> +unix_sock_ro_perms = "0777"
> +unix_sock_rw_perms = "0770"
> +EOF
> + service libvirtd restart
> +END
> +
> + # devstack is going to setup the host, install some dependency.
You mean give it access to install whatever it wants.
> + target_putfilecontents_root_stash($ho, 100, <<END,"/etc/sudoers.d/devstack");
> +osstest ALL=(ALL) NOPASSWD:ALL
> +END
> +}
> +
> +sub deploy() {
> + target_cmd($ho, <<END, 1800);
> + cd $builddir/devstack
> + ./stack.sh
> +END
> +}
> +
> +packages();
> +checkout();
> +deploy();
> --
> Anthony PERARD
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> https://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-11-15 21:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-14 12:33 [OSSTEST PATCH v7 0/3] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
2016-11-14 12:33 ` [OSSTEST PATCH v7 1/3] ts-openstack-deploy: Deploy OpenStack on a host with devstack Anthony PERARD
2016-11-15 21:40 ` Konrad Rzeszutek Wilk [this message]
2016-11-18 18:51 ` Ian Jackson
2016-11-14 12:33 ` [OSSTEST PATCH v7 2/3] ts-openstack-tempest: Run Tempest to check OpenStack Anthony PERARD
2016-11-15 21:42 ` Konrad Rzeszutek Wilk
2016-11-21 17:50 ` Anthony PERARD
2016-11-14 12:33 ` [OSSTEST PATCH v7 3/3] Create a flight to test OpenStack with xen-unstable and libvirt Anthony PERARD
2016-11-18 18:57 ` Ian Jackson
2016-11-18 19:51 ` Konrad Rzeszutek Wilk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161115214042.GA29122@x230.dumpdata.com \
--to=konrad@kernel.org \
--cc=Ian.Jackson@eu.citrix.com \
--cc=anthony.perard@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).