Commit f1fa2642 authored by Francesc Guasch's avatar Francesc Guasch
Browse files

Merge branch 'main' of github.com:UPC/ravada into main

parents 5d209c49 dd3f4e1d
......@@ -18,6 +18,7 @@ my $DEBIAN = "DEBIAN";
my %COPY_RELEASES = (
'ubuntu-19.04'=> ['ubuntu-18.10','ubuntu-19.10']
,'debian-10' => ['debian-11']
);
my %DIR = (
templates => '/usr/share/ravada'
......
......@@ -707,6 +707,25 @@ sub _update_table_isos_url($self, $data) {
}
}
sub _update_table_isos_url($self, $data) {
my $sth = $CONNECTOR->dbh->prepare("SELECT * FROM iso_images WHERE name=?");
for my $release (sort keys %$data) {
my $entry = $data->{$release};
$sth->execute($entry->{name});
my $row = $sth->fetchrow_hashref();
for my $field (keys %$entry) {
next if defined $row->{$field} && $row->{$field} eq $entry->{$field};
my $sth_update = $CONNECTOR->dbh->prepare(
"UPDATE iso_images SET $field=?"
." WHERE id=?"
);
$sth_update->execute($entry->{$field}, $row->{id});
warn("INFO: updating $release $field '".($row->{$field} or '')."' -> '$entry->{$field}'\n")
if !$FIRST_TIME_RUN && $0 !~ /\.t$/;
}
}
}
sub _scheduled_fedora_releases($self,$data) {
return if !exists $VALID_VM{KVM} ||!$VALID_VM{KVM} || $>;
......@@ -1216,6 +1235,7 @@ sub _add_indexes_generic($self) {
"unique(id_domain,n_order)"
,"unique(id_domain,driver)"
,"unique(id_vm,port)"
,"index(id_domain)"
]
,domain_ports => [
"unique (id_domain,internal_port):domain_port"
......@@ -1224,6 +1244,7 @@ sub _add_indexes_generic($self) {
]
,group_access => [
"unique (id_domain,name)"
,"index(id_domain)"
]
,requests => [
"index(status,at_time)"
......@@ -1254,17 +1275,23 @@ sub _add_indexes_generic($self) {
]
,booking_entry_ldap_groups => [
"index(id_booking_entry,ldap_group)"
,"index(id_booking_entry)"
]
,booking_entry_users => [
"index(id_booking_entry,id_user)"
,"index(id_booking_entry)"
,"index(id_user)"
]
,booking_entry_bases => [
"index(id_booking_entry,id_base)"
,"index(id_base)"
,"index(id_booking_entry)"
]
,volumes => [
'UNIQUE (id_domain,name):id_domain',
'UNIQUE (id_domain,n_order):id_domain2'
"index(id_domain)"
,'UNIQUE (id_domain,name):id_domain_name'
,'UNIQUE (id_domain,n_order):id_domain2'
]
,vms=> [
......@@ -3157,7 +3184,7 @@ sub process_requests {
my $domain = '';
$domain = $id_domain if $id_domain;
$domain .= ($req->defined_arg('name') or '');
next if $duplicated{$req->command.":$domain"}++;
next if $duplicated{$domain}++;
push @reqs,($req);
}
$sth->finish;
......@@ -4882,7 +4909,11 @@ sub _check_duplicated_iptable($self, $request = undef ) {
my $rule = join(" ", map { $_." ".$args{$_} } sort keys %args);
if ($dupe{$rule}) {
warn "clean duplicated iptables rule ".Dumper($line);
my %args2;
while (my ($key, $value) = each %args) {
$args2{"-$key"} = $value;
}
warn "clean duplicated iptables rule ".join(" ",%args2)."\n";
$self->_delete_iptables_rule($vm,'filter', \%args);
}
$dupe{$rule}++;
......
......@@ -337,6 +337,7 @@ Add a group to the LDAP
=cut
sub add_group($name, $base=_dc_base(), $class=['groupOfUniqueNames','nsMemberOf','posixGroup','top' ]) {
my $ldap = _init_ldap_admin();
$base = _dc_base() if !defined $base;
$name = escape_filter_value($name);
my $oc_posix_group;
......@@ -344,7 +345,6 @@ sub add_group($name, $base=_dc_base(), $class=['groupOfUniqueNames','nsMemberOf'
my @attrs =( cn=>$name
,objectClass => $class
,ou => 'Groups'
,description => "Group for $name"
);
push @attrs, (gidNumber => _search_new_gid()) if $oc_posix_group;
......@@ -354,7 +354,7 @@ sub add_group($name, $base=_dc_base(), $class=['groupOfUniqueNames','nsMemberOf'
, cn => $name
, attrs => \@attrs
);
my $mesg = $LDAP_ADMIN->add(@data);
my $mesg = $ldap->add(@data);
if ($mesg->code) {
die "Error creating group $name : ".$mesg->error."\n".Dumper(\@data);
}
......
......@@ -357,7 +357,8 @@ sub _around_start($orig, $self, @arg) {
;# pool has asynchronous jobs running.
next if $error && ref($error) && $error->code == 1
&& $error !~ /internal error.*unexpected address/;
&& $error !~ /internal error.*unexpected address/
&& $error !~ /process exited while connecting to monitor/;
if ($error && $self->id_base && !$self->is_local && $self->_vm->enabled) {
$self->_request_set_base();
......
......@@ -7,8 +7,8 @@ msgstr ""
"Project-Id-Version: 0.1.0-alpha\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-03 10:12+0300\n"
"PO-Revision-Date: 2021-05-26 10:57+0000\n"
"Last-Translator: Barış Güvenkaya <bguvenkaya@tutanota.de>\n"
"PO-Revision-Date: 2021-08-17 21:34+0000\n"
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/ravada/"
"translation/tr/>\n"
"Language: tr\n"
......@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.7-dev\n"
"X-Generator: Weblate 4.8-dev\n"
msgid "Ravada broker"
msgstr "Ravada Aracı"
......@@ -58,7 +58,7 @@ msgid "Log Out"
msgstr "Oturumu Kapat"
msgid "Available Machines"
msgstr "Hazır Makineler"
msgstr "Kullanılabilir Makineler"
msgid "Help"
msgstr "Yardım"
......@@ -79,13 +79,13 @@ msgid "New Machine"
msgstr "Yeni Makine"
msgid "I want to change my password"
msgstr "Şifremi değiştirmek istiyorum"
msgstr "Parolamı değiştirmek istiyorum"
msgid "I want to change my language"
msgstr "Lisanımı değiştirmek istiyorum"
msgstr "Dilimi değiştirmek istiyorum"
msgid "Language:"
msgstr "Lisan"
msgstr "Dil:"
msgid "English"
msgstr "İngilizce"
......@@ -118,10 +118,10 @@ msgid "German"
msgstr "Almanca"
msgid "New Password:"
msgstr "Yeni Şifre"
msgstr "Yeni Parola:"
msgid "Confirm Password:"
msgstr "Şifreyi Onayla"
msgstr "Parolayı Doğrula:"
msgid "Submit"
msgstr "Gönder"
......@@ -130,16 +130,16 @@ msgid "Your language has been changed successfully"
msgstr "Diliniz başarılı bir şekilde değiştirildi"
msgid "Your password has been changed successfully"
msgstr "Şifreniz başarılı bir şekilde değiştrildi"
msgstr "Parolanız başarılı bir şekilde değiştirildi"
msgid "Password is too short"
msgstr "Şifre çok kısa"
msgstr "Parola çok kısa"
msgid "Password fields do not match"
msgstr "Şifre alanları eşleşmiyor"
msgstr "Parola alanları eşleşmiyor"
msgid "Some of the password fields are empty"
msgstr "Şifre alanlarından bazıları boş"
msgstr "Parola alanlarından bazıları boş"
msgid "Status"
msgstr "Durum"
......@@ -190,7 +190,7 @@ msgid "Mark as read"
msgstr "Okundu olarak işaretle"
msgid "Mark as unread"
msgstr "Okunmamış olarak işaretle"
msgstr "Okunma olarak işaretle"
msgid "No messages to show"
msgstr "Gösterilecek mesaj yok"
......@@ -223,7 +223,7 @@ msgid "Remove base"
msgstr "Tabanı kaldır"
msgid "Restore"
msgstr "Yeniden Yükle"
msgstr "Geri yükle"
msgid "Hibernate"
msgstr "Hazırda beklet"
......@@ -244,7 +244,7 @@ msgid "Machine settings"
msgstr "Makine ayarları"
msgid "Cannot remove base, machine has clones"
msgstr "Taban kaldırılamıyor, makinede klonlar mevcut"
msgstr "Taban kaldırılamıyor, makinede klonlar var"
msgid "show clones"
msgstr "klonları göster"
......@@ -253,19 +253,19 @@ msgid "hide clones"
msgstr "klonları gizle"
msgid "For Spice redirection you will need to install"
msgstr "Spice yönlendirmesi için yüklemeniz gerekecek"
msgstr "Spice yönlendirmesi için kurmanız gerekecek"
msgid "in your computer."
msgstr "bilgisayarınızda"
msgstr "bilgisayarınızda."
msgid "Search in your distro, e.g. in Debian/Ubuntu with"
msgstr "Dağıtımınızda arayın, örneğin Debian/Ubuntu"
msgid "You will need to install"
msgstr "Yüklemeniz gerekecek"
msgstr "Kurmanız gerekecek"
msgid "and USB drivers ("
msgstr "ve USB sürücüleri("
msgstr "ve USB sürücüleri ("
msgid ""
"Be aware that in Windows, Spice redirection is not automatic. It is "
......@@ -285,7 +285,7 @@ msgstr ""
"olarak kaydedin, ardından dosyayı çalıştırın."
msgid "Login"
msgstr "Giriş"
msgstr "Oturum Aç"
msgid "Welcome"
msgstr "Hoş Geldiniz"
......@@ -303,40 +303,40 @@ msgid "User"
msgstr "Kullanıcı"
msgid "Password"
msgstr "Şifre"
msgstr "Parola"
msgid "Start session"
msgstr "oturumu başlat"
msgstr "Oturumu başlat\n"
msgid "bits) in your computer."
msgstr "bit) bilgisayarınızda"
msgstr "bit) bilgisayarınızda."
msgid "Permissions"
msgstr "İzinler"
msgid "can change the settings of owned virtual machines."
msgstr "Kendi sanal makinelerin ayarlarını değiştirebilir."
msgstr "sahip olunan sanal makinelerin ayarlarını değiştirebilir."
msgid "can change the settings of any virtual machines."
msgstr "Herhangi bir sanal makinenin ayarlarını değiştirebilir."
msgstr "herhangi bir sanal makinenin ayarlarını değiştirebilir."
msgid "can change the settings of any virtual machines "
msgstr "Herhangi bir sanal makinenin ayarlarını değiştirebilir"
msgid "cloned from one base owned by the user."
msgstr "sahip olunan bir tabandan klonlanmış."
msgstr "kullanıcının sahip olduğu bir tabandan kopyalandı."
msgid "can clone public virtual machines."
msgstr "genel sanal makineleri klonlayabilir."
msgid "can clone any virtual machine."
msgstr "herhangi bir sanal makineyi klonlayabilir"
msgstr "herhangi bir sanal makineyi klonlayabilir."
msgid "can create bases."
msgstr "tabanlar oluşturabilir."
msgid "can create virtual machines."
msgstr "sanal makineler oluşturulabilir"
msgstr "sanal makineler oluşturulabilir."
msgid "can grant permissions to other users"
msgstr "diğer kullanıcılara izin verebilir"
......@@ -346,36 +346,36 @@ msgstr "herhangi bir sanal makineyi hazırda bekletebilir."
msgid "can hibernate clones from virtual machines owned by the user."
msgstr ""
"Klonları, kullanıcının sahip olduğu sanal makinelerden hazırda bırakabilir."
"kullanıcının sahip olduğu sanal makinelerden klonları hazırda bekletebilir."
msgid "can hibernate any clone."
msgstr "herhangi bir klonu hazırda bekletebilir."
msgid "can remove any virtual machines owned by the user."
msgstr "Kullanıcının sahip olduğu herhangi bir sanal makineyi silebilir."
msgstr "kullanıcının sahip olduğu herhangi bir sanal makineyi kaldırabilir."
msgid "can remove any virtual machine."
msgstr "herhangi bir sanal makineyi silebilir."
msgstr "herhangi bir sanal makineyi kaldırabilir."
msgid "can remove clones from virtual machines owned by the user."
msgstr "Kullanıcının sahip olduğu sanal makinelerden klonları silebilir."
msgstr "kullanıcının sahip olduğu sanal makinelerden klonları kaldırabilir."
msgid "can remove any clone."
msgstr "Herhangi bir klonu kaldırabilir."
msgstr "herhangi bir klonu kaldırabilir."
msgid "can take a screenshot of any virtual machine owned by the user."
msgstr ""
"Kullanıcının sahip olduğu herhangi bir sanal makinenin ekran görüntüsünü "
"kullanıcının sahip olduğu herhangi bir sanal makinenin ekran görüntüsünü "
"alabilir."
msgid "can take a screenshot of any virtual machine."
msgstr "Herhangi bir sanal makinenin ekran görüntüsünü alabilir."
msgstr "herhangi bir sanal makinenin ekran görüntüsünü alabilir."
msgid "can shutdown any virtual machine."
msgstr "Herhangi bir sanal makineyi kapatabilir."
msgstr "herhangi bir sanal makineyi kapatabilir."
msgid "can shutdown clones from virtual machines owned by the user."
msgstr "Klonları, kullanıcının sahip olduğu sanal makinelerden kapatabilir."
msgstr "kullanıcının sahip olduğu sanal makinelerden klonları kapatabilir."
msgid "Submit Query"
msgstr "Sorguyu Gönder"
......@@ -384,7 +384,7 @@ msgid "From Template"
msgstr "Şablondan"
msgid "From Machine"
msgstr "makinesinden"
msgstr "Makinesinden"
msgid "Backend"
msgstr "Arka uç"
......@@ -396,8 +396,8 @@ msgid ""
"This ISO image has not been downloaded yet. It may take some minutes, even "
"hours until the file is fetched from the Internet."
msgstr ""
"Bu ISO imajı henüz indirilmedi. Dosyanın indirilmesi birkaç dakika, hatta "
"saatler sürebilir."
"Bu ISO kalıbı henüz indirilmedi. Dosyanın internetten indirilmesi birkaç "
"dakika, hatta saatler sürebilir."
msgid "Download now"
msgstr "Şimdi indir"
......@@ -427,10 +427,10 @@ msgid "Backend selection is required."
msgstr "Arka uç seçimi gerekli."
msgid "ISO image selection is required."
msgstr "ISO imajı seçimi gerekli."
msgstr "ISO kalıbı seçimi gerekli."
msgid "Template selection is required."
msgstr "Şablon seçimi gereklidir."
msgstr "Şablon seçimi gerekli."
msgid "A machine with that name already exists."
msgstr "Bu ada sahip bir makine zaten var."
......@@ -449,29 +449,29 @@ msgid ""
"can change the settings of all virtual machines cloned from one base owned "
"by the user."
msgstr ""
"Klonlanan tüm sanal makinelerin ayarlarını kullanıcının sahip olduğu tek bir"
" tabandan değiştirebilir."
"kullanıcının sahip olduğu bir tabandan klonlanan tüm sanal makinelerin "
"ayarlarını değiştirebilir."
msgid "monitoring"
msgstr "İzleme"
msgstr "izleme"
msgid "Are you sure you want to remove the Base of"
msgstr "Tabanı çıkarmak istediğinize emin misiniz?"
msgstr "Tabanını kaldırmak istediğinizden emin misiniz"
msgid "Are you sure you want to prepare the Base of"
msgstr "Tabanı hazırlamak istediğinden emin misin?"
msgstr "Tabanı hazırlamak istediğinizden emin misiniz"
msgid "Are you sure you want to change the Public state of"
msgstr "Genel durumunu değiştirmek istediğinize emin misiniz?"
msgstr "Genel durumunu değiştirmek istediğinizden emin misiniz"
msgid "Search"
msgstr "Arama"
msgstr "Ara"
msgid "There are no public bases available in this system."
msgstr "Bu sistemde ortak bir taban yok."
msgstr "Bu sistemde kullanılabilir genel taban yok."
msgid "There are no machines available in this system."
msgstr "Bu sistemde hiç makine yok."
msgstr "Bu sistemde kullanılabilir makine yok."
msgid "Create one."
msgstr "Bir tane oluştur."
......@@ -501,7 +501,7 @@ msgid "It may take a couple of minutes."
msgstr "Birkaç dakika sürebilir."
msgid "Hybernating ..."
msgstr "Hazırda bekletme moduna geçiliyor…"
msgstr "Hazırda bekletiliyor…"
msgid "Description"
msgstr "Açıklama"
......@@ -529,7 +529,7 @@ msgstr "Tehlikeli Alan"
msgid ""
"Once you delete the machine, there is no going back. Please be certain."
msgstr "Makineyi sildikten sonra geri dönüş olmaz. Lütfen emin ol."
msgstr "Makineyi sildikten sonra geri dönüş yoktur. Lütfen emin olun."
msgid "Danger"
msgstr "Tehlike"
......@@ -541,7 +541,7 @@ msgid "This action can't be undone"
msgstr "Bu işlem geri alınamaz"
msgid "Are you sure ?"
msgstr "Emin misin?"
msgstr "Emin misiniz?"
msgid "Yes, remove"
msgstr "Evet, kaldır"
......@@ -550,19 +550,19 @@ msgid "Virtual Machine"
msgstr "Sanal Makine"
msgid "removed"
msgstr "silindi"
msgstr "kaldırıldı"
msgid "This will remove all the"
msgstr "Hepsi kaldırılacak"
msgid "clones of the machine"
msgstr "Makinenin klonları"
msgstr "makinenin klonları"
msgid "Yes, remove all the clones"
msgstr "Evet, tüm klonları kaldır"
msgid "This virtual machine can't be removed because it has"
msgstr "Bu sanal makine kaldırılamıyor. çünkü makine ..."
msgstr "Bu sanal makine kaldırılamıyor çünkü"
msgid "clones"
msgstr "klonlar"
......@@ -574,13 +574,13 @@ msgid "This machine has not Graphics parameters!"
msgstr "Bu makine Grafik parametrelerine sahip değil!"
msgid "recommended"
msgstr "önerilen"
msgstr "tavsiye edilen"
msgid "to"
msgstr "karşı"
msgid "Changing Public State"
msgstr "Genel Durumu değiştirme"
msgstr "Genel Durumun Değiştirilmesi"
msgid "Changing Base State"
msgstr "Temel Durumun Değiştirilmesi"
......@@ -592,13 +592,13 @@ msgid "Grants"
msgstr "İzinler"
msgid "public"
msgstr "halka açık"
msgstr "herkese açık"
msgid "New Base"
msgstr "Yeni Taban"
msgid "Version"
msgstr "Versiyon"
msgstr "Sürüm"
msgid "Authors"
msgstr "Yazarlar"
......@@ -619,7 +619,7 @@ msgid "License"
msgstr "Lisans"
msgid "Machine locked by"
msgstr "Makine ... tarafından kilitlendi"
msgstr "Makine şunun tarafından kilitlendi"
msgid "This Machine is a base"
msgstr "Bu makine bir taban"
......@@ -628,7 +628,7 @@ msgid "Cloned"
msgstr "Klonlandı"
msgid "is admin"
msgstr "admin"
msgstr "yönetici"
msgid "Add new user"
msgstr "Yeni kullanıcı ekle "
......@@ -637,19 +637,19 @@ msgid "Register"
msgstr "Kaydet"
msgid "Current Password:"
msgstr "Mevcut Şifre:"
msgstr "Geçerli Parola:"
msgid "For more information, check"
msgstr "Daha fazla bilgi için kontrol edin"
msgstr "Daha fazla bilgi için bakın"
msgid "the Windows Clients documentation"
msgstr "Windows İstemcileri belgeleri"
msgid "It is programmed in"
msgstr "Programlanmıştır"
msgstr "Programlan"
msgid "with perl framework"
msgstr "perl çatılı"
msgstr "perl çerçevesi ile"
msgid "and"
msgstr "ve"
......@@ -661,7 +661,7 @@ msgid "MB available"
msgstr "MB kullanılabilir"
msgid "The machine will shutdown after these minutes"
msgstr "Makine şu dakikalardan sonra kapanacak"
msgstr "Makine şu dakikadan sonra kapanacak"
msgid "Cancel"
msgstr "İptal"
......@@ -670,13 +670,13 @@ msgid "Please enter the following information to create the account"
msgstr "Hesap oluşturmak için lütfen aşağıdaki bilgileri girin"
msgid "Enter Username"
msgstr "Kullanıcı anı gir"
msgstr "Kullanıcı A Gir"
msgid "Enter Password"
msgstr "Parolanı gir"
msgstr "Parola Gir"
msgid "Confirm Password"
msgstr "Şifreyi Onayla"
msgstr "Parolayı Doğrula"
msgid "Username is required"
msgstr "Kullanıcı adı gerekli"
......@@ -693,28 +693,28 @@ msgstr ""
"çizgiler içerebilir"
msgid "Password is required"
msgstr "Şifre gerekli"
msgstr "Parola gerekli"
msgid "Password can not exceed 20 characters"
msgstr "Şifre 20 karakteri aşamaz"
msgstr "Parola 20 karakteri aşamaz"
msgid "Password must be at least 5 characters"
msgstr "Şifre en az 5 karakter olmalı"
msgstr "Parola en az 5 karakter olmalı"
msgid "Password can only contain words and numbers"
msgstr "Şifre sadece harf ve rakam içerebilir"
msgstr "Parola yalnızca kelimeler ve sayılar içerebilir"
msgid "Confirm Password is required"
msgstr "Parolayı Doğrula gerekli"
msgid "Confirm Password can not exceed 20 characters"
msgstr "Şifre 20 karakteri aşamaz"
msgstr "Parolayı Doğrula 20 karakteri aşamaz"
msgid "Confirm Password must be at least 5 characters"
msgstr "Şifre 5 karakterden az olamaz"
msgstr "Parolayı Doğrula en az 5 karakter olma"
msgid "Confirm Password can only contain words and numbers"
msgstr "Şifre sadece kelimeler ve rakamlar içerebilir"
msgstr "Parolayı Doğrula yalnızca kelimeler ve sayılar içerebilir"
msgid "This information will be available to the users"
msgstr "Bu bilgi kullanıcılara açık olacak"
......@@ -729,13 +729,12 @@ msgid "Change the owner of the machine"
msgstr "Makinenin sahibini değiştirin"
msgid "Press SHIFT + F12 to exit"
msgstr "Shift + F12 tuş kombinasyonuyla çıkınız"
msgstr "Çıkmak için SHIFT + F12 tuşlarına basın"
msgid ""
"If you can not see the machine screen in a few seconds check for a file "
"called"
msgstr ""
"Birkaç saniye içinde makine ekranını göremiyorsanız, dosyayı kontrol edin."
msgstr "Birkaç saniye içinde makine ekranını göremiyorsanız şu dosyaya bakın"
msgid "in your downloads folder."
msgstr "indirilenler klasörünüzde."
......@@ -747,10 +746,10 @@ msgid "Portuguese"
msgstr "Portekizce"
msgid "Read more."
msgstr "Daha fazla oku"
msgstr "Daha fazla oku."
msgid "The password for this virtual machine connection is :"
msgstr "Bu sanal makine bağlantısının şifresi:"
msgstr "Bu sanal makine bağlantısının parolası:"
msgid "view"
msgstr "görünüm"
......@@ -762,25 +761,25 @@ msgid "The machine is down."
msgstr "Makine çalışmıyor."
msgid "Remove"
msgstr "Kaldırmak"
msgstr "Kaldır"
msgid "The machine must be started to take the screenshot."
msgstr "Ekran görüntüsünü almak için makine çalıştırılmalıdır."
msgstr "Ekran görüntüsünü almak için makine başlatılmalıdır."
msgid "Take screenshot"
msgstr "Ekran görüntüsü almak"
msgstr "Ekran görüntüsü al"
msgid "Set base picture"
msgstr "Temel resmi ayarla"
msgid "Saving the screenshot, please wait a moment..."