Commit 9cc036bf authored by Thomas Gambier's avatar Thomas Gambier 🚴🏼

Update Release Candidate

parents cf982c5e e153a886
...@@ -23,7 +23,7 @@ eggs = ...@@ -23,7 +23,7 @@ eggs =
[cythonplus-repository] [cythonplus-repository]
recipe = slapos.recipe.build:gitclone recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/cython.git repository = https://lab.nexedi.com/nexedi/cython.git
revision = cythonplus-0.1 revision = cythonplus-0.2
git-executable = ${git:location}/bin/git git-executable = ${git:location}/bin/git
[cythonplus_env.sh] [cythonplus_env.sh]
......
...@@ -10,9 +10,24 @@ recipe = rubygemsrecipe ...@@ -10,9 +10,24 @@ recipe = rubygemsrecipe
url = https://rubygems.org/rubygems/rubygems-2.4.8.zip url = https://rubygems.org/rubygems/rubygems-2.4.8.zip
ruby-executable = ${ruby:location}/bin/ruby ruby-executable = ${ruby:location}/bin/ruby
gems = gems =
msgpack==1.3.3
cool.io==1.4.6
http_parser.rb==0.6.0
sigdump==0.2.4
serverengine==2.2.3
strptime==0.1.9
thread_safe==0.3.6
tzinfo==1.2.9
tzinfo-data==1.2021.1
yajl-ruby==1.4.1
fluentd==0.14.14 fluentd==0.14.14
httpclient==2.8.3
json==2.5.1
td-client==0.8.85
fluent-plugin-td==0.10.29 fluent-plugin-td==0.10.29
gem-options = --no-ri --no-rdoc --with-icu-lib=${icu:location}/lib/ --with-icu-dir=${icu:location}/ gem-options =
--with-icu-lib=${icu:location}/lib/
--with-icu-dir=${icu:location}/
environment = environment =
LDFLAGS = -L${icu:location}/lib -Wl,-rpath=${icu:location}/lib LDFLAGS = -L${icu:location}/lib -Wl,-rpath=${icu:location}/lib
CFLAGS = -I${icu:location}/include CFLAGS = -I${icu:location}/include
...@@ -85,6 +85,6 @@ configure-command = ...@@ -85,6 +85,6 @@ configure-command =
make-binary = ninja -C ${:location} chrome make-binary = ninja -C ${:location} chrome
environment = environment =
PKG_CONFIG_PATH=${freetype:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${randrproto:location}/lib/pkgconfig:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${freetype:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${randrproto:location}/lib/pkgconfig:$PKG_CONFIG_PATH
PATH=${chromedriver:location}:${dbus:location}/bin:${depot_tools:location}:${pkgconfig:location}/bin:${ninja:path}/:${bison:location}/bin:${gperf:location}/bin:${xserver:location}/bin:%(PATH)s PATH=${chromedriver:location}:${dbus:location}/bin:${depot_tools:location}:${pkgconfig:location}/bin:${ninja:location}/bin:${bison:location}/bin:${gperf:location}/bin:${xserver:location}/bin:%(PATH)s
CPATH=${dbus:location}/include/dbus-1.0:${dbus:location}/lib/dbus-1.0/include/:${freetype:location}/include/freetype2:${libffi:location}/include:${mpfr:location}/include:${ncurses:location}/include:${openssl:location}/include:${readline:location}/include:${sqlite3:location}/include:${zlib:location}/include:${bzip2:location}/include:$CPATH CPATH=${dbus:location}/include/dbus-1.0:${dbus:location}/lib/dbus-1.0/include/:${freetype:location}/include/freetype2:${libffi:location}/include:${mpfr:location}/include:${ncurses:location}/include:${openssl:location}/include:${readline:location}/include:${sqlite3:location}/include:${zlib:location}/include:${bzip2:location}/include:$CPATH
LD_LIBRARY_PATH=${alsa:location}/lib:${gconf:location}/lib:${libXScrnSaver:location}/lib:${glib:location}/lib:${atk:location}/lib:${cairo:location}/lib:${cups:location}/lib:${dbus:location}/lib:${dbus-glib:location}/lib:${fontconfig:location}/lib/:${gdk-pixbuf:location}/lib:${gettext:location}/lib:${glib:location}/lib:${gtk-2:location}/lib:${harfbuzz:location}/lib:${libX11:location}/lib:${libXau:location}/lib:${libXcomposite:location}/lib:${libXcursor:location}/lib:${libXext:location}/lib:${libXi:location}/lib:${libXrender:location}/lib/:${libXtst:location}/lib:${libexpat:location}/lib:${libffi:location}/lib:${libpng:location}/lib:${libpng12:location}/lib:${libxcb:location}/lib:${libxml2:location}/lib:${mesa:location}/lib:${nspr:location}/lib:${nss:location}/lib:${pango:location}/lib:${pcre:location}/lib:${pixman:location}/lib:${sqlite3:location}/lib:${xdamage:location}/lib:${xfixes:location}/lib:${zlib:location}/lib:$LD_LIBRARY_PATH LD_LIBRARY_PATH=${alsa:location}/lib:${gconf:location}/lib:${libXScrnSaver:location}/lib:${glib:location}/lib:${atk:location}/lib:${cairo:location}/lib:${cups:location}/lib:${dbus:location}/lib:${dbus-glib:location}/lib:${fontconfig:location}/lib/:${gdk-pixbuf:location}/lib:${gettext:location}/lib:${glib:location}/lib:${gtk-2:location}/lib:${harfbuzz:location}/lib:${libX11:location}/lib:${libXau:location}/lib:${libXcomposite:location}/lib:${libXcursor:location}/lib:${libXext:location}/lib:${libXi:location}/lib:${libXrender:location}/lib/:${libXtst:location}/lib:${libexpat:location}/lib:${libffi:location}/lib:${libpng:location}/lib:${libpng12:location}/lib:${libxcb:location}/lib:${libxml2:location}/lib:${mesa:location}/lib:${nspr:location}/lib:${nss:location}/lib:${pango:location}/lib:${pcre:location}/lib:${pixman:location}/lib:${sqlite3:location}/lib:${xdamage:location}/lib:${xfixes:location}/lib:${zlib:location}/lib:$LD_LIBRARY_PATH
[buildout]
parts =
liburing
[liburing]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/axboe/liburing/archive/refs/tags/liburing-2.0.tar.gz
md5sum = 022bb540e8ab5c9916609145f020926f
[buildout]
extends =
../python3/buildout.cfg
parts =
meson
[meson]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/mesonbuild/meson/releases/download/${:version}/meson-${:version}.tar.gz
version = 0.57.2
md5sum = 4a07b6d42d7a46a6b6e9604fae7da9aa
configure-command = true
make-binary = true
post-install =
%(python)s -m venv %(location)s
set %(location)s/bin/python3
$1 setup.py install_data install_lib
$1 <<EOF
import os, pkg_resources, sys
for name, ep in pkg_resources.get_entry_map(
'meson==%(version)s', 'console_scripts').items():
fd = os.open(%(location)r '/bin/' + name, os.O_WRONLY|os.O_CREAT|os.O_EXCL)
os.write(fd, ("""#!$1
import os, sys
from %%s import %%s
if __name__ == '__main__':
sys.exit(%%s())
""" %% (ep.module_name, ep.attrs[0], '.'.join(ep.attrs))).encode())
os.close(fd)
EOF
%(location)s/bin/pip uninstall -y pip setuptools
python = ${python3:executable}
[meson:python3]
python = ${buildout:executable}
...@@ -14,6 +14,8 @@ patches = ...@@ -14,6 +14,8 @@ patches =
${:_profile_base_location_}/ncurses-5.9-gcc-5.patch#57f4cd0cc0c0a42a5ddb2167f9546d72 ${:_profile_base_location_}/ncurses-5.9-gcc-5.patch#57f4cd0cc0c0a42a5ddb2167f9546d72
configure-options = configure-options =
--prefix=@@LOCATION@@ --prefix=@@LOCATION@@
--enable-pc-files
--with-pkg-config-libdir=@@LOCATION@@/lib/pkgconfig
--with-shared --with-shared
--without-ada --without-ada
--without-manpages --without-manpages
...@@ -23,8 +25,9 @@ configure-options = ...@@ -23,8 +25,9 @@ configure-options =
--without-gpm --without-gpm
--enable-rpath --enable-rpath
# tricky way to rerun with --enable-widec # tricky way to rerun with --enable-widec
# we even clean before rerun otherwise some steps like the installation of pc files are skipped
make-targets = make-targets =
install && ./configure ${:configure-options} --enable-widec && make ${:make-options} && make ${:make-options} install install clean && ./configure ${:configure-options} --enable-widec && make ${:make-options} && make ${:make-options} install
post-install = post-install =
cd '%(location)s/include' cd '%(location)s/include'
mv ncursesw/* . mv ncursesw/* .
......
...@@ -4,9 +4,14 @@ parts = ...@@ -4,9 +4,14 @@ parts =
[ninja] [ninja]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
version = v1.7.1 shared = true
url = https://github.com/ninja-build/ninja/archive/${:version}.tar.gz version = 1.10.2
url = https://github.com/ninja-build/ninja/archive/refs/tags/v${:version}.tar.gz
md5sum = 639f75bc2e3b19ab893eaf2c810d4eb4
configure-command = ./configure.py configure-command = ./configure.py
configure-options = --bootstrap configure-options = --bootstrap
make-binary = true make-binary = true
post-install = ls && cp -r ./* ${buildout:parts-directory}/${:_buildout_section_name_}/ post-install =
set %(location)s/bin
mkdir -p $1
mv ninja $1
...@@ -7,42 +7,59 @@ extends = ...@@ -7,42 +7,59 @@ extends =
../libcap/buildout.cfg ../libcap/buildout.cfg
../libcap-ng/buildout.cfg ../libcap-ng/buildout.cfg
../libpng/buildout.cfg ../libpng/buildout.cfg
../liburing/buildout.cfg
../libuuid/buildout.cfg ../libuuid/buildout.cfg
../meson/buildout.cfg
../ncurses/buildout.cfg ../ncurses/buildout.cfg
../ninja/buildout.cfg
../patch/buildout.cfg
../pkgconfig/buildout.cfg ../pkgconfig/buildout.cfg
../xorg/buildout.cfg ../xorg/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
../pcre/buildout.cfg
../glib/buildout.cfg ../glib/buildout.cfg
[qemu] [qemu]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = https://download.qemu.org/qemu-4.2.1.tar.xz url = https://download.qemu.org/qemu-5.2.0.tar.xz
md5sum = dac9c31eb3ef1d0cfe30251f238c49c4 md5sum = 179f86928835da857c237b42f4b2df73
patches =
# backport (2021-03-20)
https://gitlab.com/qemu-project/qemu/-/commit/3eacf70bb5a83e4775ad8003cbca63a40f70c8c2.patch#c4330b02f331a827145009d85e4f6862
patch-binary = ${patch:location}/bin/patch
patch-options = -p1
pre-configure =
sed -i '/^libmigration\b/s/$/ dependencies: [zlib],/' meson.build
sed -i 's/\bsnappy,/zlib, \0/' dump/meson.build
configure-options = configure-options =
--meson=${meson:location}/bin/meson
--ninja=${ninja:location}/bin/ninja
--target-list="$(uname -m 2>/dev/null|sed 's,^i[456]86$,i386,')-softmmu" --target-list="$(uname -m 2>/dev/null|sed 's,^i[456]86$,i386,')-softmmu"
--enable-system --enable-system
--disable-sdl --disable-sdl
--disable-xen --disable-xen
--disable-vnc-sasl --disable-vnc-sasl
--disable-curl --disable-curl
--enable-gnutls
--enable-kvm --enable-kvm
--enable-linux-aio --enable-linux-aio
--enable-linux-io-uring
--enable-virtfs --enable-virtfs
--disable-docs --disable-docs
--enable-curses --enable-curses
--enable-vnc --enable-vnc
--enable-vnc-png --enable-vnc-png
--disable-vnc-jpeg --disable-vnc-jpeg
--extra-cflags="-I${gnutls:location}/include -I${libuuid:location}/include -I${ncurses:location}/include -I${zlib:location}/include -I${libpng:location}/include -I${libaio:location}/include -I${attr:location}/include -I${libcap:location}/include -I${libcap-ng:location}/include "
--extra-ldflags="-Wl,-rpath -Wl,${glib:location}/lib -L${glib:location}/lib -Wl,-rpath -Wl,${gnutls:location}/lib -L${gnutls:location}/lib -Wl,-rpath -Wl,${libgpg-error:location}/lib -L${libgpg-error:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib -Wl,-rpath -Wl,${libpng:location}/lib -L${libpng:location}/lib -L${libuuid:location}/lib -Wl,-rpath -Wl,${libuuid:location}/lib -L${libaio:location}/lib -Wl,-rpath=${libaio:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -lpng -lz -lgnutls -L${attr:location}/lib -Wl,-rpath=${attr:location}/lib -L${libcap:location}/lib -Wl,-rpath=${libcap:location}/lib -L${libcap-ng:location}/lib -Wl,-rpath=${libcap-ng:location}/lib"
--disable-werror --disable-werror
--disable-xfsctl
environment = environment =
CFLAGS=-I${gettext:location}/include -I${libaio:location}/include -I${liburing:location}/include -I${libcap-ng:location}/include
LDFLAGS=-L${gettext:location}/lib -L${libaio:location}/lib -L${libcap-ng:location}/lib -Wl,-rpath=${libcap-ng:location}/lib -Wl,-rpath=${glib:location}/lib -Wl,-rpath=${gnutls:location}/lib -Wl,-rpath=${nettle:location}/lib -Wl,-rpath=${pixman:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${libpng:location}/lib -Wl,-rpath=${libaio:location}/lib -Wl,-rpath=${liburing:location}/lib -Wl,-rpath=${libcap-ng:location}/lib
PATH=${pkgconfig:location}/bin:${bzip2:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:${bzip2:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${gnutls:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig:${pixman:location}/lib/pkgconfig PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${gnutls:location}/lib/pkgconfig:${gnutls:pkg-config-path}:${libpng:location}/lib/pkgconfig:${liburing:location}/lib/pkgconfig:${ncurses:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig:${pixman:location}/lib/pkgconfig
LDFLAGS=-L${pixman:location}/lib -Wl,-rpath=${pixman:location}/lib
[qemu:sys.version_info < (3,6)]
environment +=
PYTHON=${python3:executable}
[debian-netinst-base] [debian-netinst-base]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
......
[buildout]
extends =
software.cfg
[python]
part = python2.7
...@@ -7,6 +7,9 @@ parts = ...@@ -7,6 +7,9 @@ parts =
instance-profile instance-profile
slapos-cookbook slapos-cookbook
[python]
part = python3
[instance-profile] [instance-profile]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg.in template = ${:_profile_base_location_}/instance.cfg.in
......
Tests for fluentd Software Release
##############################################################################
#
# Copyright (c) 2018 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from setuptools import setup, find_packages
version = '0.0.1.dev0'
name = 'slapos.test.fluentd'
with open("README.md") as f:
long_description = f.read()
setup(name=name,
version=version,
description="Test for SlapOS' fluentd",
long_description=long_description,
long_description_content_type='text/markdown',
maintainer="Nexedi",
maintainer_email="info@nexedi.com",
url="https://lab.nexedi.com/nexedi/slapos",
packages=find_packages(),
install_requires=[
'slapos.core',
'slapos.libnetworkcache',
'erp5.util',
'supervisor',
'six',
],
zip_safe=True,
test_suite='test',
)
##############################################################################
#
# Copyright (c) 2018 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import os
import six
from slapos.testing.testcase import makeModuleSetUpAndTestCaseClass
setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass(
os.path.abspath(
os.path.join(os.path.dirname(__file__), '..',
'software%s.cfg' % ("-py2" if six.PY2 else ""))))
class FluentdTestCase(SlapOSInstanceTestCase):
__partition_reference__ = 'fluentd'
def test_process(self):
expected_process_name_list = [
'fluentd-service-on-watch',
]
with self.slap.instance_supervisor_rpc as supervisor:
process_names = [process['name']
for process in supervisor.getAllProcessInfo()]
for expected_process_name in expected_process_name_list:
self.assertIn(expected_process_name, process_names)
...@@ -88,12 +88,6 @@ KVM instance parameters: ...@@ -88,12 +88,6 @@ KVM instance parameters:
- data-to-vm - data-to-vm
send some text content which will be accessible to the vm through the file: http://10.0.2.100/data send some text content which will be accessible to the vm through the file: http://10.0.2.100/data
- keyboard-layout-language (default: fr)
Change keyboard layout language (Change to en-us if you face some bad bihaviors)
Language list: ['ar', 'da', 'de', 'de-ch', 'en-gb', 'en-us', 'es', 'et', 'fi',
'fo', 'fr', 'fr-be', 'fr-ca', 'fr-ch', 'hr', 'hu', 'is', 'it', 'ja', 'lt',
'lv', 'mk', 'nl', 'nl-be', 'no', 'pl', 'pt', 'pt-br', 'ru', 'sl', 'sv',
'th', 'tr']
Resilient KVM instance Resilient KVM instance
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
......
...@@ -19,11 +19,11 @@ md5sum = 0d34ff81779115bf899f7bc752877b70 ...@@ -19,11 +19,11 @@ md5sum = 0d34ff81779115bf899f7bc752877b70
[template-kvm] [template-kvm]
filename = instance-kvm.cfg.jinja2 filename = instance-kvm.cfg.jinja2
md5sum = 9d0980144f91d10d8a5cee041f385d34 md5sum = 854ec0f379a05246f5f3761fdb634c36
[template-kvm-cluster] [template-kvm-cluster]
filename = instance-kvm-cluster.cfg.jinja2.in filename = instance-kvm-cluster.cfg.jinja2.in
md5sum = 80b9b70ba1ccbc09deb8f9cad60f352c md5sum = 5f092853a949e129ed3f6938bb439b6b
[template-kvm-resilient] [template-kvm-resilient]
filename = instance-kvm-resilient.cfg.jinja2 filename = instance-kvm-resilient.cfg.jinja2
...@@ -55,7 +55,7 @@ md5sum = b7e87479a289f472b634a046b44b5257 ...@@ -55,7 +55,7 @@ md5sum = b7e87479a289f472b634a046b44b5257
[template-kvm-run] [template-kvm-run]
filename = template/template-kvm-run.in filename = template/template-kvm-run.in
md5sum = d1748b18fc76544cc71be5c40ed9cbb9 md5sum = a8afeb2f80199368e291621576a80ca1
[template-kvm-controller] [template-kvm-controller]
filename = template/kvm-controller-run.in filename = template/kvm-controller-run.in
......
...@@ -337,47 +337,6 @@ ...@@ -337,47 +337,6 @@
"type": "string", "type": "string",
"default": "host" "default": "host"
}, },
"keyboard-layout-language": {
"title": "Use keyboard layout language",
"description": "Use keyboard layout language (for example fr for French). Can be usefull with VNC display",
"type": "string",
"enum": [
"ar",
"da",
"de",
"de-ch",
"en-gb",
"en-us",
"es",
"et",
"fi",
"fo",
"fr",
"fr-be",
"fr-ca",
"fr-ch",
"hr",
"hu",
"is",
"it",
"ja",
"lt",
"lv",
"mk",
"nl",
"nl-be",
"no",
"pl",
"pt",
"pt-br",
"ru",
"sl",
"sv",
"th",
"tr"
],
"default": "fr"
},
"nbd-host": { "nbd-host": {
"title": "NBD hostname or IP", "title": "NBD hostname or IP",
"description": "hostname (or IP) of the NBD server containing the boot image.", "description": "hostname (or IP) of the NBD server containing the boot image.",
......
...@@ -19,47 +19,6 @@ ...@@ -19,47 +19,6 @@
"stopped" "stopped"
] ]
}, },
"keyboard-layout-language": {
"title": "Use keyboard layout language",
"description": "Use keyboard layout language (for example fr for French). Can be usefull with VNC display",
"type": "string",
"enum": [
"ar",
"da",
"de",
"de-ch",
"en-gb",
"en-us",
"es",
"et",
"fi",
"fo",
"fr",
"fr-be",
"fr-ca",
"fr-ch",
"hr",
"hu",
"is",
"it",
"ja",
"lt",
"lv",
"mk",
"nl",
"nl-be",
"no",
"pl",
"pt",
"pt-br",
"ru",
"sl",
"sv",
"th",
"tr"
],
"default": "fr"
},
"boot-image-url-select": { "boot-image-url-select": {
"title": "Boot image", "title": "Boot image",
"type": "array", "type": "array",
......
...@@ -134,7 +134,6 @@ config-wipe-disk-iterations = {{ dumps(kvm_parameter_dict.get('wipe-disk-iterati ...@@ -134,7 +134,6 @@ config-wipe-disk-iterations = {{ dumps(kvm_parameter_dict.get('wipe-disk-iterati
config-document-host = ${apache-conf:ip} config-document-host = ${apache-conf:ip}
config-document-port = ${apache-conf:port} config-document-port = ${apache-conf:port}
config-document-path = ${hash-code:passwd} config-document-path = ${hash-code:passwd}
config-keyboard-layout-language = {{ dumps(kvm_parameter_dict.get('keyboard-layout-language', 'fr')) }}
{%- for k in ['boot-image-url-list', 'boot-image-url-select', 'whitelist-domains'] %} {%- for k in ['boot-image-url-list', 'boot-image-url-select', 'whitelist-domains'] %}
{#- play nice - use parameter only if present #} {#- play nice - use parameter only if present #}
{%- if k in kvm_parameter_dict %} {%- if k in kvm_parameter_dict %}
......
...@@ -125,47 +125,6 @@ ...@@ -125,47 +125,6 @@
"type": "string", "type": "string",
"default": "host" "default": "host"
}, },
"keyboard-layout-language": {
"title": "Use keyboard layout language",
"description": "Use keyboard layout language (for example fr for French). Can be usefull with VNC display",
"type": "string",
"enum": [
"ar",
"da",
"de",
"de-ch",
"en-gb",
"en-us",
"es",
"et",
"fi",
"fo",
"fr",
"fr-be",
"fr-ca",
"fr-ch",
"hr",
"hu",
"is",
"it",
"ja",
"lt",
"lv",
"mk",
"nl",
"nl-be",
"no",
"pl",
"pt",
"pt-br",
"ru",
"sl",
"sv",
"th",
"tr"
],
"default": "fr"
},
"nbd-host": { "nbd-host": {
"title": "NBD hostname", "title": "NBD hostname",
"description": "hostname (or IP) of the NBD server containing the boot image.", "description": "hostname (or IP) of the NBD server containing the boot image.",
......
...@@ -374,7 +374,6 @@ cluster-doc-host = ...@@ -374,7 +374,6 @@ cluster-doc-host =
cluster-doc-port = 0 cluster-doc-port = 0
{% endif -%} {% endif -%}
netcat-binary = {{ netcat_bin }} netcat-binary = {{ netcat_bin }}
language = ${slap-parameter:keyboard-layout-language}
name = {{ slapparameter_dict.get('name', 'Single KVM') }} name = {{ slapparameter_dict.get('name', 'Single KVM') }}
disk-cache = ${slap-parameter:disk-cache} disk-cache = ${slap-parameter:disk-cache}
...@@ -964,9 +963,6 @@ authorized-key = ...@@ -964,9 +963,6 @@ authorized-key =
# send some content which will be accessible to the vm through static url: http://10.0.2.100/data # send some content which will be accessible to the vm through static url: http://10.0.2.100/data
data-to-vm = data-to-vm =
# Change keyboard layout language (Change to en-us if you face some bad bihaviors)
keyboard-layout-language = fr
{% for k, v in slapparameter_dict.items() -%} {% for k, v in slapparameter_dict.items() -%}
{% if k == 'authorized-key' and v -%} {% if k == 'authorized-key' and v -%}
{% set key_list = v.split('\n') -%} {% set key_list = v.split('\n') -%}
......
...@@ -67,11 +67,6 @@ httpd_port = {{ parameter_dict.get("httpd-port") }} ...@@ -67,11 +67,6 @@ httpd_port = {{ parameter_dict.get("httpd-port") }}
netcat_bin = '{{ parameter_dict.get("netcat-binary") }}'.strip() netcat_bin = '{{ parameter_dict.get("netcat-binary") }}'.strip()
cluster_doc_host = '{{ parameter_dict.get("cluster-doc-host") }}' cluster_doc_host = '{{ parameter_dict.get("cluster-doc-host") }}'
cluster_doc_port = {{ parameter_dict.get("cluster-doc-port") }} cluster_doc_port = {{ parameter_dict.get("cluster-doc-port") }}
language = '{{ parameter_dict.get("language") }}'
language_list = ['ar', 'da', 'de', 'de-ch', 'en-gb', 'en-us', 'es', 'et', 'fi',
'fo', 'fr', 'fr-be', 'fr-ca', 'fr-ch', 'hr', 'hu', 'is', 'it', 'ja', 'lt',
'lv', 'mk', 'nl', 'nl-be', 'no', 'pl', 'pt', 'pt-br', 'ru', 'sl', 'sv',
'th', 'tr']
url_check_certificate = '{{ parameter_dict.get("hard-drive-url-check-certificate", "true") }}'.lower() url_check_certificate = '{{ parameter_dict.get("hard-drive-url-check-certificate", "true") }}'.lower()
auto_ballooning = '{{ parameter_dict.get("auto-ballooning") }}' in ('true', 'True', '1') auto_ballooning = '{{ parameter_dict.get("auto-ballooning") }}' in ('true', 'True', '1')
vm_name = '{{ parameter_dict.get("name") }}' vm_name = '{{ parameter_dict.get("name") }}'
...@@ -337,8 +332,6 @@ if tap_network_parameter == [] and nat_network_parameter == []: ...@@ -337,8 +332,6 @@ if tap_network_parameter == [] and nat_network_parameter == []:
print('Warning : No network interface defined.') print('Warning : No network interface defined.')
else: else:
kvm_argument_list += nat_network_parameter + tap_network_parameter kvm_argument_list += nat_network_parameter + tap_network_parameter
if language in language_list:
kvm_argument_list.extend(['-k', language])
for disk in additional_disk_list: for disk in additional_disk_list:
kvm_argument_list.extend([ kvm_argument_list.extend([
......
...@@ -114,6 +114,11 @@ setup = ${slapos-repository:location}/software/slaprunner/test/ ...@@ -114,6 +114,11 @@ setup = ${slapos-repository:location}/software/slaprunner/test/
egg = slapos.test.metabase egg = slapos.test.metabase
setup = ${slapos-repository:location}/software/metabase/test/ setup = ${slapos-repository:location}/software/metabase/test/
[slapos.test.fluentd-setup]
<= setup-develop-egg
egg = slapos.test.fluentd
setup = ${slapos-repository:location}/software/fluentd/test/
[slapos.test.helloworld-setup] [slapos.test.helloworld-setup]
<= setup-develop-egg <= setup-develop-egg
egg = slapos.test.helloworld egg = slapos.test.helloworld
...@@ -236,6 +241,7 @@ extra-eggs = ...@@ -236,6 +241,7 @@ extra-eggs =
${slapos.test.jscrawler-setup:egg} ${slapos.test.jscrawler-setup:egg}
${slapos.test.html5as-setup:egg} ${slapos.test.html5as-setup:egg}
${slapos.test.html5as-base-setup:egg} ${slapos.test.html5as-base-setup:egg}
${slapos.test.fluentd-setup:egg}
# We don't name this interpreter `python`, so that when we run slapos node # We don't name this interpreter `python`, so that when we run slapos node
# software, installation scripts running `python` use a python without any # software, installation scripts running `python` use a python without any
...@@ -289,6 +295,7 @@ tests = ...@@ -289,6 +295,7 @@ tests =
# the version of Python that is used to run the test. # the version of Python that is used to run the test.
# Due to a bug in the way promises are run, we may also list some Py3-only SR # Due to a bug in the way promises are run, we may also list some Py3-only SR
# here, to check there's no promise issue when slapos node runs with Python 2. # here, to check there's no promise issue when slapos node runs with Python 2.
fluentd ${slapos.test.fluentd-setup:setup}
kvm ${slapos.test.kvm-setup:setup} kvm ${slapos.test.kvm-setup:setup}
slaprunner ${slapos.test.slaprunner-setup:setup} slaprunner ${slapos.test.slaprunner-setup:setup}
metabase ${slapos.test.metabase-setup:setup} metabase ${slapos.test.metabase-setup:setup}
......
...@@ -50,7 +50,7 @@ md5sum = 7a2f5e25a818cb29964666ada7852a5c ...@@ -50,7 +50,7 @@ md5sum = 7a2f5e25a818cb29964666ada7852a5c
[template-slapos-cfg] [template-slapos-cfg]
filename = template/slapos.cfg.in filename = template/slapos.cfg.in
md5sum = 3b228b26a170f3c07c50a0f2ae056daf md5sum = 03322b8a0f42ea579d35981211359190
[template-slapformat-definition.cfg] [template-slapformat-definition.cfg]
filename = template/slapformat-definition.cfg.in filename = template/slapformat-definition.cfg.in
......
...@@ -13,6 +13,7 @@ shared_part_list = ...@@ -13,6 +13,7 @@ shared_part_list =
{%- endfor %} {%- endfor %}
{{ slaprunner['shared_root'] }} {{ slaprunner['shared_root'] }}
master_url = http://{{ slaprunner['ipv4'] }}:{{ slaprunner['proxy_port'] }} master_url = http://{{ slaprunner['ipv4'] }}:{{ slaprunner['proxy_port'] }}
master_rest_url = http://{{ slaprunner['ipv4'] }}:{{ slaprunner['proxy_port'] }}/hateoas
computer_id = slaprunner computer_id = slaprunner
maximal_delay = 0 maximal_delay = 0
root_check = {{ slaprunner['root_check'] }} root_check = {{ slaprunner['root_check'] }}
......
...@@ -53,10 +53,6 @@ setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass( ...@@ -53,10 +53,6 @@ setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass(
os.path.join(os.path.dirname(__file__), '..', os.path.join(os.path.dirname(__file__), '..',
'software%s.cfg' % ("-py3" if six.PY3 else "")))) 'software%s.cfg' % ("-py3" if six.PY3 else ""))))
class SlaprunnerTestCase(SlapOSInstanceTestCase):
# Slaprunner uses unix sockets, so it needs short paths.
__partition_reference__ = 's'
class SlaprunnerTestCase(SlapOSInstanceTestCase): class SlaprunnerTestCase(SlapOSInstanceTestCase):
# Slaprunner uses unix sockets, so it needs short paths. # Slaprunner uses unix sockets, so it needs short paths.
__partition_reference__ = 's' __partition_reference__ = 's'
...@@ -423,14 +419,14 @@ class TestSlapOS(SlaprunnerTestCase): ...@@ -423,14 +419,14 @@ class TestSlapOS(SlaprunnerTestCase):
def test_slapos_command(self): def test_slapos_command(self):
# in ~/bin/slapos there is a wrapper setting configuration to use slapos from # in ~/bin/slapos there is a wrapper setting configuration to use slapos from
# the web runner. # the web runner.
proxy_show_output = subprocess.check_output( slapos = os.path.join(self.computer_partition_root_path, 'bin', 'slapos')
( # ensure the node is formatted
os.path.join(self.computer_partition_root_path, 'bin', 'slapos'), subprocess.check_call((slapos, 'node', 'format', '--now'), env={})
'proxy', proxy_show_output = subprocess.check_output((slapos, 'proxy', 'show'), env={})
'show',
),
env={})
self.assertIn(b'slaprunner', proxy_show_output) self.assertIn(b'slaprunner', proxy_show_output)
# check hateoas cli support
computer_list_output = subprocess.check_output((slapos, 'computer', 'list'), env={})
self.assertIn(b'slaprunner', computer_list_output)
def test_shared_part_list(self): def test_shared_part_list(self):
# this slapos used shared_part_list # this slapos used shared_part_list
......
...@@ -19,7 +19,7 @@ md5sum = f3aac995aa1129ca58f9a92851ad7091 ...@@ -19,7 +19,7 @@ md5sum = f3aac995aa1129ca58f9a92851ad7091
[yarn.lock] [yarn.lock]
filename = yarn.lock filename = yarn.lock
md5sum = fb9f7bba4893ba701b9d5339d283533d md5sum = 80e7ad91deea54cebcccef5a83fdb380
[python-language-server-requirements.txt] [python-language-server-requirements.txt]
filename = python-language-server-requirements.txt filename = python-language-server-requirements.txt
......
...@@ -97,6 +97,7 @@ initialization = ...@@ -97,6 +97,7 @@ initialization =
software_root="%s/software" % args.base_directory, software_root="%s/software" % args.base_directory,
instance_root="%s/instance" % args.base_directory, instance_root="%s/instance" % args.base_directory,
partition_forward_configuration=partition_forward_configuration, partition_forward_configuration=partition_forward_configuration,
slapos_bin="${buildout:bin-directory}/slapos",
) )
standalone.start() standalone.start()
partition_count = 20 partition_count = 20
......
...@@ -187,6 +187,13 @@ class TestTheia(TheiaTestCase): ...@@ -187,6 +187,13 @@ class TestTheia(TheiaTestCase):
) )
self.assertTrue(os.path.exists(script_path)) self.assertTrue(os.path.exists(script_path))
def test_slapos_cli(self):
slapos = self._getSlapos()
proxy_show_output = subprocess.check_output((slapos, 'proxy', 'show'))
self.assertIn('slaprunner', proxy_show_output)
computer_list_output = subprocess.check_output((slapos, 'computer', 'list'))
self.assertIn('slaprunner', computer_list_output)
class TestTheiaEmbeddedSlapOSShutdown(TheiaTestCase): class TestTheiaEmbeddedSlapOSShutdown(TheiaTestCase):
def test_stopping_instance_stops_embedded_slapos(self): def test_stopping_instance_stops_embedded_slapos(self):
......
This source diff could not be displayed because it is too large. You can view the blob instead.
[buildout] [buildout]
extends = extends =
../fluentd/software.cfg ../fluentd/software-py2.cfg
test-common.cfg test-common.cfg
[template-erp5] [template-erp5]
......
...@@ -208,7 +208,7 @@ setuptools-dso = 1.7 ...@@ -208,7 +208,7 @@ setuptools-dso = 1.7
rubygemsrecipe = 0.3.0 rubygemsrecipe = 0.3.0
six = 1.12.0 six = 1.12.0
slapos.cookbook = 1.0.184 slapos.cookbook = 1.0.184
slapos.core = 1.6.9 slapos.core = 1.6.12
slapos.extension.strip = 0.4 slapos.extension.strip = 0.4
slapos.extension.shared = 1.0 slapos.extension.shared = 1.0
slapos.libnetworkcache = 0.20 slapos.libnetworkcache = 0.20
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment