[-]
[+]
|
Changed |
opennebula.changes
|
|
[-]
[+]
|
Changed |
opennebula.spec
^
|
|
[-]
[+]
|
Deleted |
opennebula-4.0.0.tar.bz2/share/router/init.rb
^
|
@@ -1,487 +0,0 @@
-#!/usr/bin/env ruby
-
-# -------------------------------------------------------------------------- #
-# Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
-# #
-# Licensed under the Apache License, Version 2.0 (the "License"); you may #
-# not use this file except in compliance with the License. You may obtain #
-# a copy of the License at #
-# #
-# http://www.apache.org/licenses/LICENSE-2.0 #
-# #
-# Unless required by applicable law or agreed to in writing, software #
-# distributed under the License is distributed on an "AS IS" BASIS, #
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
-# See the License for the specific language governing permissions and #
-# limitations under the License. #
-#--------------------------------------------------------------------------- #
-
-require 'rexml/document'
-require 'base64'
-require 'fileutils'
-
-class Router
- # Default files
- FILES = {
- :resolv_conf => "/etc/resolv.conf",
- :context => "/mnt/context/context.sh",
- :dnsmasq_conf => "/etc/dnsmasq.conf",
- :log_file => "/var/log/router.log"
- }
-
- # Default MAC prefix
- MAC_PREFIX = "02:00"
-
- # Default gateway (last byte)
- DEFAULT_GW = "1"
-
- # Default netmask
- DEFAULT_NETMASK = "255.255.255.0"
-
- # Context parameters that are base64 encoded
- BASE_64_KEYS = [:privnet, :pubnet, :template]
-
- # The specification on how to fetch these attributes.
- # The order in the array matters, the first non-empty one is returned.
- ATTRIBUTES = {
- :dns => [
- {
- :resource => :context
- },
- {
- :resource => :pubnet,
- :resource_xpath => 'TEMPLATE/DNS'
- }
- ],
- :search => [
- {
- :resource => :context
- },
- {
- :resource => :pubnet,
- :resource_xpath => 'TEMPLATE/SEARCH'
- }
- ],
- :nat => [
- {
- :resource => :context,
- :resource_name => "FORWARDING"
- },
- {
- :resource => :privnet,
- :resource_xpath => 'TEMPLATE/FORWARDING'
- }
- ],
- :dhcp => [
- {
- :resource => :context
- },
- {
- :resource => :privnet,
- :resource_xpath => 'TEMPLATE/DHCP'
- }
- ],
- :ntp => [
- {
- :resource => :context
- },
- {
- :resource => :privnet,
- :resource_xpath => 'TEMPLATE/NTP'
- }
- ],
- :root_pubkey => [
- {
- :resource => :context
- }
- ],
- :root_password => [
- {
- :resource => :context
- }
- ]
- }
-
- def initialize
- @context = read_context
- unpack
- get_network_information
- end
-
- ############################################################################
- # GETTERS
- ############################################################################
-
- def pubnet
- !@pubnet[:network_id].nil?
- end
-
- def privnet
- !@privnet[:network_id].nil?
- end
-
- def dns
- dns_raw = get_attribute(:dns)
- dns_raw.split if !dns_raw.nil?
- end
-
- def search
- get_attribute(:search)
- end
-
- def root_password
- get_attribute(:root_password)
- end
-
- def root_pubkey
- get_attribute(:root_pubkey)
- end
-
- def nat
- nat_raw = get_attribute(:nat)
- nat_raw.split if !nat_raw.nil?
- end
-
- def dhcp
- dhcp_raw = get_attribute(:dhcp) || ""
- if dhcp_raw.downcase.match(/^y(es)?$/)
- true
- else
- false
- end
- end
-
- def ntp
- ntp_raw = get_attribute(:ntp) || ""
- if ntp_raw.downcase.match(/^y(es)?$/)
- true
- else
- false
- end
- end
-
- ############################################################################
- # ACTIONS
- ############################################################################
-
- def write_resolv_conf
- if dns
- File.open(FILES[:resolv_conf], 'w') do |resolv_conf|
- if search
- resolv_conf.puts "search #{search}"
- end
-
- dns.each do |nameserver|
- resolv_conf.puts "nameserver #{nameserver}"
- end
- end
- elsif search
- File.open(FILE[:resolv_conf], 'a') do |resolv_conf|
- resolv_conf.puts "search #{search}"
- end
- end
- end
-
- def configure_network
- get_network_information
-
- if pubnet
- ip = @pubnet[:ip]
- nic = @pubnet[:interface]
- netmask = @pubnet[:netmask]
- gateway = @pubnet[:gateway]
-
- run "ip link set #{nic} up"
- run "ip addr add #{ip}/#{netmask} dev #{nic}"
- run "ip route add default via #{gateway}"
- end
-
- if privnet
- ip = @privnet[:ip]
- nic = @privnet[:interface]
- netmask = @privnet[:netmask]
-
- run "ip link set #{nic} up"
- run "ip addr add #{ip}/#{netmask} dev #{nic}"
- end
- end
-
-
- def configure_dnsmasq
- File.open(FILES[:dnsmasq_conf],'w') do |dnsmasq_conf|
- _,ip_start,_ = dhcp_ip_mac_pairs[0]
- _,ip_end,_ = dhcp_ip_mac_pairs[-1]
-
- dnsmasq_conf.puts "dhcp-range=#{ip_start},#{ip_end},infinite"
- dnsmasq_conf.puts
- dnsmasq_conf.puts "dhcp-option=42,#{@privnet[:ip]} # ntp server"
- dnsmasq_conf.puts "dhcp-option=4,#{@privnet[:ip]} # name server"
- dnsmasq_conf.puts
- dhcp_ip_mac_pairs.each do |pair|
- mac, ip = pair
- dnsmasq_conf.puts "dhcp-host=#{mac},#{ip}"
- end
- end
- end
-
- def configure_nat
- nat.each do |nat_rule|
- nat_rule = nat_rule.split(":")
- if nat_rule.length == 2
- ip, inport = nat_rule
- outport = inport
- elsif nat_rule.length == 3
- outport, ip, inport = nat_rule
- end
-
- run "iptables -t nat -A PREROUTING -p tcp --dport #{outport} " \
- "-j DNAT --to-destination #{ip}:#{inport}"
- end
- end
-
- def configure_masquerade
- run "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE"
- end
-
- def configure_ip_forward
- run "sysctl -w net.ipv4.ip_forward=1"
- end
-
- def configure_root_password
- run "usermod -p #{root_password} root"
- end
-
- def configure_root_pubkey
- FileUtils.mkdir_p("/root/.ssh",:mode => 0700)
- File.open("/root/.ssh/authorized_keys", "a", 0600) do |f|
- f.write(root_pubkey)
- end
- end
-
- def service(service, action = :start)
- action = action.to_s
- run "/etc/rc.d/#{service} #{action}"
- end
-
- ############################################################################
- # Private methods
- ############################################################################
-
-private
-
- def get_network_information
- @pubnet = Hash.new
- @privnet = Hash.new
-
- mac_interfaces = Hash[
- Dir["/sys/class/net/*/address"].collect do |f|
- [ File.read(f).strip, f.split('/')[4] ]
- end
- ]
-
- if (pubnet_id = get_element_xpath(:pubnet, 'ID'))
- @pubnet[:network_id] = pubnet_id
-
- xpath_ip = "TEMPLATE/NIC[NETWORK_ID='#{pubnet_id}']/IP"
- xpath_mac = "TEMPLATE/NIC[NETWORK_ID='#{pubnet_id}']/MAC"
-
- @pubnet[:ip] = get_element_xpath(:template, xpath_ip)
- @pubnet[:mac] = get_element_xpath(:template, xpath_mac)
-
- @pubnet[:interface] = mac_interfaces[@pubnet[:mac]]
-
- netmask = get_element_xpath(:pubnet, 'TEMPLATE/NETWORK_MASK')
- @pubnet[:netmask] = netmask || DEFAULT_NETMASK
-
- gateway = get_element_xpath(:pubnet, 'TEMPLATE/GATEWAY')
- if gateway.nil?
- gateway = @pubnet[:ip].gsub(/\.\d{1,3}$/,".#{DEFAULT_GW}")
- end
- @pubnet[:gateway] = gateway
- end
-
- if (privnet_id = get_element_xpath(:privnet, 'ID'))
- @privnet[:network_id] = privnet_id
-
- xpath_ip = "TEMPLATE/NIC[NETWORK_ID='#{privnet_id}']/IP"
- xpath_mac = "TEMPLATE/NIC[NETWORK_ID='#{privnet_id}']/MAC"
-
- @privnet[:ip] = get_element_xpath(:template, xpath_ip)
- @privnet[:mac] = get_element_xpath(:template, xpath_mac)
-
- @privnet[:interface] = mac_interfaces[@privnet[:mac]]
-
- netmask = get_element_xpath(:privnet, 'TEMPLATE/NETWORK_MASK')
- @privnet[:netmask] = netmask || DEFAULT_NETMASK
- end
- end
-
- def log(msg)
- File.open(FILES[:log_file],'a') {|f| f.puts msg}
- end
-
- def run(cmd)
- log(cmd)
- output = `#{cmd} 2>&1`
- exitstatus = $?.exitstatus
- log(output) if !output.empty?
- log("Error: exit code #{exitstatus}") if exitstatus != 0
- end
-
- def dhcp_ip_mac_pairs
- netxml = @xml[:privnet]
-
- pairs = Array.new
-
- if netxml.elements['RANGE']
- ip_start = netxml.elements['RANGE/IP_START'].text
- ip_end = netxml.elements['RANGE/IP_END'].text
-
- (ip_to_int(ip_start)..ip_to_int(ip_end)).each do |int_ip|
- ip = int_to_ip(int_ip)
- mac = ip2mac(ip)
-
- pairs << [mac, ip, int_ip]
- end
- elsif netxml.elements['LEASES/LEASE']
- netxml.elements.each('LEASES/LEASE') do |lease|
- ip = lease.elements['IP'].text
- mac = lease.elements['MAC'].text
- int_ip = ip_to_int(ip)
-
- pairs << [mac, ip, int_ip]
- end
- end
-
- pairs.sort{|a,b| a[2] <=> b[2]}
- end
-
- def ip_to_int(ip)
- num = 0
- ip.split(".").each{|i| num *= 256; num = num + i.to_i}
- num
- end
-
- def int_to_ip(num)
- ip = Array.new
-
- (0..3).reverse_each do |i|
- ip << (((num>>(8*i)) & 0xff))
- end
- ip.join('.')
- end
-
- def ip2mac(ip)
- mac = MAC_PREFIX + ':' \
- + ip.split('.').collect{|i| sprintf("%02X",i)}.join(':')
-
- mac.downcase
- end
-
- def mac2ip(mac)
- mac.split(':')[2..-1].collect{|i| i.to_i(16)}.join('.')
- end
-
- def unpack
- @xml = Hash.new
-
- BASE_64_KEYS.each do |key|
- if @context.include? key
- tpl = Base64::decode64(@context[key])
- @xml[key] = REXML::Document.new(tpl).root
- end
- end
- end
-
- def get_attribute(name)
- order = ATTRIBUTES[name]
-
- return nil if order.nil?
-
- order.each do |e|
- if e[:resource] != :context
- resource = e[:resource]
- xpath = e[:resource_xpath]
-
- value = get_element_xpath(resource, xpath)
-
- return value if !value.nil?
- else
- if e[:resource_name]
- resource_name = e[:resource_name]
- else
- resource_name = name
- end
-
- element = @context[resource_name]
- return element if !element.nil?
- end
- end
-
- return nil
- end
-
- def get_element_xpath(resource, xpath)
- xml_resource = @xml[resource]
- return nil if xml_resource.nil?
-
- element = xml_resource.elements[xpath]
- return element.text.to_s if !element.nil?
- end
-
- def read_context
- context = Hash.new
- context_file = File.read(FILES[:context])
-
- context_file.each_line do |line|
- next if line.match(/^#/)
-
- if (m = line.match(/^(.*?)="(.*)"$/))
- key = m[1].downcase.to_sym
- value = m[2]
- context[key] = value
- end
- end
- context
- end
-end
-
-router = Router.new
-
-router.configure_network
-
-if router.pubnet
- if router.dns || router.search
- router.write_resolv_conf
- end
-
- # Set masquerade
- router.configure_masquerade
-
- # Set ipv4 forward
- router.configure_ip_forward
-
- # Set NAT rules
- if router.nat
- router.configure_nat
- end
-end
-
-if router.privnet
- if router.dhcp
- router.configure_dnsmasq
- router.service("dnsmasq")
- end
-
- if router.ntp
- router.service("ntpd")
- end
-end
-
-if router.root_password
- router.configure_root_password
-end
-
-if router.root_pubkey
- router.configure_root_pubkey
-end
|
[-]
[+]
|
Deleted |
opennebula-4.0.0.tar.bz2/src/sunstone/locale/languages/nl_NL.js
^
|
@@ -1,674 +0,0 @@
-lang="nl_NL"
-datatable_lang="nl_datatable.txt"
-locale={
- "":"",
- "Access Control Lists":"",
- "Search":"",
- "ID":"ID",
- "Applies to":"Is van toepassing op",
- "Affected resources":"",
- "Resource ID / Owned by":"",
- "Allowed operations":"Toegestane operaties",
- "ACL String":"ACL string",
- "Create ACL":"Maak ACL aan",
- "This rule applies to":"Deze regel is van toepassing op",
- "Hosts":"Hosts",
- "Clusters":"Clusters",
- "Datastores":"Datastores",
- "Virtual Machines":"Virtuele machines",
- "Virtual Networks":"Virtuele Netwerken",
- "Images":"Afbeeldingen",
- "Templates":"Templates",
- "Users":"Gebruikers",
- "Groups":"Groepen",
- "Documents":"Documenten",
- "Resource subset":"",
- "All":"Alle",
- "Specific ID":"Specifieke ID",
- "Owned by group":"Eigendom van groep",
- "Assigned to cluster":"",
- "Resource ID":"Bron ID",
- "Group":"Groep",
- "Cluster":"Cluster",
- "Use":"Gebruik",
- "Manage":"Beheren",
- "Administrate":"Beheren",
- "Create":"Aanmaken",
- "ACL String preview":"ACL string preview",
- "Reset":"Reset",
- "Close":"",
- "Delete":"Verwijder",
- "ACLs":"ACL's",
- "User":"Gebruiker",
- "Group ":"Groep",
- "Cluster ID":"",
- "VM Templates":"VM templates",
- "Please specify to who this ACL applies":"Specificeer alstublieft op welke ACL dit van toepassing is",
- "Please select at least one resource":"Selecteer minimaal een bron",
- "Please provide a resource ID for the resource(s) in this rule":"",
- "Name":"Naam",
- "RVMs":"RVM's",
- "Real CPU":"Werkelijke CPU",
- "Allocated CPU":"Toegewezen CPU",
- "Real MEM":"Werkelijk geheugen",
- "Allocated MEM":"Toegewezen geheugen",
- "Status":"Status",
- "IM MAD":"IM MAD",
- "VM MAD":"VM MAD",
- "Last monitored on":"",
- "Owner":"Eigenaar",
- "Type":"Type",
- "Bridge":"Brug",
- "Leases":"Leases",
- "Basepath":"",
- "TM MAD":"TM MAD",
- "DS MAD":"DS MAD",
- "System":"Systeem",
- "Create Cluster":"",
- "Update Cluster":"",
- "Please select one or more hosts from the list":"",
- "You selected the following hosts:":"",
- "Please select one or more vnets from the list":"",
- "You selected the following vnets:":"",
- "Please select one or more datastores from the list":"",
- "You selected the following datastores:":"",
- "Update":"Bijwerken",
- "Cluster name missing!":"Clusternaam ontbreekt!",
- "Create cluster":"Maak cluster aan",
- "Update cluster":"",
- "Please select one (and just one) cluster to update.":"",
- "VNets":"",
- "Cluster updated correctly":"",
- "Cluster information":"Clusterinformatie",
- "Cluster Hosts":"",
- "Cluster Virtual Networks":"",
- "Cluster Datastores":"",
- "Information":"Informatie",
- "id":"id",
- "Configuration":"Configuratie",
- "User information":"",
- "Language":"Taal",
- "Catalan":"Catalaans",
- "Chinese (TW)":"Chinees (TW)",
- "Czech (CZ)":"Tsjechisch (CZ)",
- "English (US)":"Engels (VS)",
- "French (FR)":"Frans (FR)",
- "German":"Duits",
- "Greek (GR)":"Grieks (GR)",
- "Italian (IT)":"Italiaans (IT)",
- "Persian (IR)":"Iraans (IR)",
- "Portuguese (BR)":"",
- "Portuguese (PT)":"Portugees (PT)",
- "Russian (RU)":"Russisch (RU)",
- "Slovak (SK)":"Slowaaks (SK)",
- "Spanish (SP)":"Spaans (SP)",
- "Views":"",
- "VNC Secure websockets":"",
- "Update config":"",
- "Update Password":"",
- "New password":"Nieuw wachtwoord",
- "Change":"Wijzig",
- "Template updated correctly":"Template succesvol bijgewerkt",
- "Change password successful":"Wachtwoord succesvol gewijzigd",
- "Change password":"Wijzig wachtwoord",
- "Fill in a new password":"Vul een nieuw wachtwoord in",
- "Group ID":"Groep ID",
- "Group Name":"",
- "Password":"Wachtwoord",
- "Update password":"",
- "Custom Attributes":"",
- "Dashboard":"Dashboard",
- "Storage":"",
- "IMAGES":"",
- "USED":"",
- "USERS":"",
- "GROUPS":"",
- "Network":"Netwerk",
- "VNETS":"",
- "USED IPs":"",
- "TOTAL":"",
- "ON":"",
- "OFF":"UIT",
- "ERROR":"FOUT",
- "CPU":"CPU",
- "MEMORY":"",
- "Allocated":"",
- "Real":"",
- "Total":"",
- "ACTIVE":"ACTIEF",
- "PENDING":"",
- "FAILED":"",
- "NET DOWNLOAD SPEED":"",
- "NET UPLOAD SPEED":"",
- "Create Datastore":"Maak datastore aan",
- "Wizard":"Wizard",
- "Advanced mode":"Geavanceerde modus",
- "Presets":"",
- "Filesystem":"Bestandssysteem",
- "VMware (FS Based)":"",
- "VMware (VMFS Based)":"",
- "iSCSI":"iSCSI",
- "LVM":"LVM",
- "Ceph":"",
- "Custom":"Aangepast",
- "Files":"",
- "Disk type":"Type schijf",
- "File":"Bestand",
- "Block":"Blokkeren",
- "RBD":"",
- "Managers":"",
- "Datastore":"Datastore",
- "VMware":"VMware",
- "VMFS":"VMFS",
- "Custom DS_MAD":"",
- "Transfer":"",
- "Shared":"Gedeeld",
- "SSH":"SSH",
- "qcow2":"",
- "Dummy":"",
- "Custom TM_MAD":"",
- "Safe Directories":"",
- "Paths that can not be used to register images. A space separated list of paths. This will prevent users registering important files as VM images and accessing them thourgh their VMs. OpenNebula will automatically add its configuration directories: /var/lib/one, /etc/one and oneadmin's home ($HOME).":"",
- "Restricted Directories":"",
- "If you need to un-block a directory under one of the RESTRICTED_DIRS":"",
- "Host Bridge List":"",
- "Use SSH for Datastore Manager":"",
- "Use SSH for Transfer Manager":"",
- "Storage Server":"",
- "Base IQN":"",
- "Volume Group Name":"",
- "Size":"Grootte",
- "Registration time":"",
- "Persistent":"",
- "#VMS":"#VMS",
- "Target":"Doel",
- "Datastore updated correctly":"Datastore succesvol bijgewerkt",
- "Select cluster":"Selecteer een cluster",
- "Select the destination cluster:":"Selecteer het doelcluster",
- "Change owner":"Wijzig eigenaar",
- "Select the new owner":"Selecteer de nieuwe eigenaar",
- "Change group":"Wijzig groep",
- "Select the new group":"Selecteer de nieuwe groep",
- "Base path":"",
- "Please select a cluster for this datastore":"",
- "Files & Kernels":"",
- "SIZE":"",
- "Create File":"",
- "Name that the File will get. Every file must have a unique name.":"",
- "Description":"Beschrijving",
- "Human readable description of the file for other users.":"",
- "Kernel":"Kernel",
- "Ramdisk":"",
- "Context":"Context",
- "Type of the file, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"",
- "Select the datastore for this file":"",
- "File location":"",
- "Provide a path":"Vul een pad in",
- "Upload":"Uploaden",
- "Path":"Pad",
- "Path to the original file that will be copied to the file repository. If not specified for a DATABLOCK type file, an empty file will be created.":"",
- "Enable":"Inschakelen",
- "Disable":"Uitschakelen",
- "Register time":"",
- "Filesystem type":"Type bestandssysteem",
- "State":"Status",
- "Running VMS":"",
- "Custom attribute name and value must be filled in":"",
- "Uploading...":"Uploading...",
- "There are mandatory parameters missing":"",
- "Please select a datastore for this file":"",
- "Memory":"Geheugen",
- "Net TX":"Net TX",
- "Net RX":"Net RX",
- "VMs":"VM's",
- "Create Group":"",
- "Update Quota":"",
- "Quota type":"Type quotum",
- "Virtual Machine":"Virtuele machine",
- "Image":"Afbeelding",
- "Max VMs":"Max VM's",
- "Max Memory (MB)":"Max geheugen (MB)",
- "Max CPU":"Max CPU",
- "Max size (MB)":"Max grootte (MB)",
- "Max images":"Max afbeeldingen",
- "Max RVMs":"Max RVM's",
- "Max leases":"Max leases",
- "Add/edit quota":"",
- "Quota":"Quotum",
- "Edit":"Wijzig",
- "Apply changes":"Voer wijzigingen door",
- "Quotas updated correctly":"Quota succesvol bijgewerkt",
- "Update quotas":"Quota bijwerken",
- "Group info":"Info over groep",
- "Quotas":"",
- "Create group":"Creëer groep",
- "Group quotas":"Quota van groep",
- "Create Host":"",
- "Hostname":"",
- "Drivers":"Drivers",
- "Virtualization":"",
- "KVM":"KVM",
- "XEN":"XEN",
- "EC2":"EC2",
- "Custom VMM_MAD":"Aangepaste VNM_MAD",
- "Ganglia":"Ganglia",
- "Custom IM_MAD":"Aangepaste IM_MAD",
- "Virtual Network":"Virtueel netwerk",
- "Default (dummy)":"Standaard (dummy)",
- "Firewall":"Firewall",
- "802.1Q":"802.1Q",
- "ebtables":"ebtables",
- "Open vSwitch":"Open vSwitch",
- "Custom VNM_MAD":"Aangepaste VNM_MAD",
- "Delete host":"Verwijder host",
- "Graphs":"",
- "INIT":"",
- "UPDATE":"",
- "RETRY":"PROBEER OPNIEUW",
- "Host":"Host",
- "VN MAD":"VN MAD",
- "Total Mem":"Totale geheugen",
- "Used Mem (real)":"Gebruikt geheugen (werkelijk)",
- "Used Mem (allocated)":"Gebruikt geheugen (toegewezen)",
- "Total CPU":"Totale CPU",
- "Used CPU (real)":"Gebruikte CPU (werkelijk)",
- "Used CPU (allocated)":"Gebruikte CPU (toegewezen)",
- "Running VMs":"Actieve VM's",
- "Create host":"Maak host aan",
- "Host name missing!":"Hostnaam ontbreekt!",
- "Create Image":"Creëer afbeelding",
- "Name that the Image will get. Every image must have a unique name.":"",
- "Human readable description of the image for other users.":"",
- "OS":"OS",
- "CDROM":"",
- "DATABLOCK":"",
- "Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"",
- "Select the datastore for this image":"Selecteer datastore voor deze afbeelding",
- "Persistence of the image":"",
- "Image location":"Locatie van afbeelding",
- "Empty datablock":"",
- "Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.":"",
- "Size of the datablock in MB.":"",
- "FS type":"FS type",
- "Type of file system to be built. This can be any value understood by mkfs unix command.":"",
- "Advanced options":"",
- "Device prefix":"",
- "Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"",
- "Driver":"Driver",
- "Specific image mapping driver. KVM: raw, qcow2. XEN: tap:aio, file:":"",
- "Target on which the image will be mounted at. For example: hda, sdb...":"",
- "Make persistent":"",
- "Make non persistent":"",
- "Clone":"Klonen",
- "yes":"ja",
- "no":"nee",
- "Datablock":"",
- "Please select a datastore for this image":"",
- "Clone Image":"",
- "Several image are selected, please choose prefix to name the new copies":"",
- "Prefix":"",
- "Infrastructure":"Infrastructuur",
- "Import":"",
- "OpenNebula Marketplace":"",
- "Publisher":"",
- "Hypervisor":"",
- "Arch":"",
- "Format":"",
- "Tags":"Tags",
- "Marketplace":"",
- "Appliance information":"",
- "Appliance":"",
- "URL":"URL",
- "link":"",
- "Downloads":"Downloads",
- "Create VM Template":"Creëer VM sjabloon",
- "Update VM Template":"",
- "Write the Virtual Machine template here":"",
- "Please, choose and modify the template you want to update":"Selecteer en wijzig het template dat u wilt bijwerken",
- "Select a template":"Selecteer een template",
- "Permissions":"Permissies",
- "Admin":"Admin",
- "Other":"Overige",
- "Template":"Template",
- "Instantiate VM Template":"",
- "VM Name":"VM-naam",
- "Defaults to template name when emtpy":"",
- "Deploy # VMs":"Rol #VM's uit",
- "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"",
- "Instantiate":"",
- "Template information":"Informatie over template",
- "NAME":"",
- "Name that the VM will get for description purposes.":"",
- "Percentage of CPU divided by 100 required for the Virtual Machine. Half a processor is written 0.5.":"",
- "MB":"",
- "GB":"",
- "Amount of RAM required for the VM, in Megabytes.":"Hoeveelheid RAM nodig voor VM, in Megabytes",
- "VCPU":"VCPU",
- "Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"",
- "Volatile Disk":"",
- "Please select an image from the list":"",
- "You selected the following image: ":"",
- "TARGET":"",
- "Device to map image disk. If set, it will overwrite the default device mapping":"",
- "DRIVER":"",
- "Specific image mapping driver. KVM: raw, qcow2. Xen:tap:aio:, file:. VMware unsupported":"",
- "TYPE":"",
- "FS":"FS",
- "Swap":"Wisselen",
- "FORMAT":"",
- "Filesystem type for the fs images":"Type bestandssysteem voor de fs afbeeldingen",
- "Size of the new disk":"",
- "Please select a network from the list":"",
- "You selected the following network:":"",
- "IP":"IP",
- "Request an specific IP from the Network":"Verzoek een specifiek IP van het netwerk",
- "MODEL":"",
- "Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"",
- "TCP Firewall":"",
- "PORTS":"",
- "A list of ports separated by commas or a ranges separated by semicolons, e.g.: 22,80,5900:6000":"",
- "UDP Firewall":"",
- "Whitelist":"",
- "Blacklist":"",
- "ICMP":"",
- "Drop":"",
- "There are mandatory parameters missing in this section":"",
- "Add another disk":"",
- "DISK":"",
- "Add another nic":"",
- "NIC":"",
- "Boot":"Boot",
- "Features":"",
- "CPU architecture to virtualization":"",
- "HD":"",
- "FD":"",
- "NETWORK":"",
- "Boot device type":"",
- "Root":"Root",
- "Device to be mounted as root":"",
- "Kernel cmd":"",
- "Arguments for the booting kernel":"",
- "Bootloader":"",
- "Path to the bootloader executable":"",
- "Registered Image":"",
- "Remote PATH":"",
- "Please select a Kernel from the list":"",
- "You selected the following Kernel: ":"",
- "PATH":"",
- "Path to the OS kernel to boot the image":"",
- "Registered Image ":"",
- "Please select a Ramdisk from the list":"",
- "You selected the following Ramdisk: ":"",
- "Path to the initrd image":"",
- "ACPI":"",
- "Yes":"Ja",
- "No":"Nee",
- "Add support in the VM for Advanced Configuration and Power Interface (ACPI)":"",
- "PAE":"",
- "Add support in the VM for Physical Address Extension (PAE)":"",
- "Graphics":"Illustraties",
- "Listen IP":"",
- "IP to listen on":"",
- "Port":"Poort",
- "Port for the VNC/SPICE server":"Poort voor de VNC/SPICE server",
- "Password for the VNC/SPICE server":"Wachtwoord voor de VNC/SPICE server",
- "Keymap":"",
- "Keyboard configuration locale to use in the VNC/SPICE display":"",
- "Inputs":"",
- "Mouse":"Muis",
- "Tablet":"Tablet",
- "USB":"USB",
- "PS2":"PS2",
- "Add":"Toevoegen",
- "BUS":"",
- "Network & SSH":"",
- "Custom variables":"",
- " Add SSH contextualization":"",
- "Add an ssh public key to the context. If the Public Key textarea is empty then the user variable SSH_PUBLIC_KEY will be used.":"",
- "Public Key":"",
- " Add Network contextualization":"",
- "Add network contextualization parameters. For each NIC defined in the NETWORK section, ETH$i_IP, ETH$i_NETWORK... parameters will be included in the CONTEXT section and will be available in the Virtual Machine":"",
- "Please select files from the list":"",
- "You selected the following files:":"",
- "KEY":"",
- "VALUE":"",
- "Placement":"",
- "Policy":"",
- "Select Hosts ":"",
- "Select Clusters ":"",
- "Please select one or more clusters from the list":"",
- "You selected the following clusters:":"",
- "Requirements":"Eisen",
- "Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"",
- "Packing":"",
- "Pack the VMs in the cluster nodes to reduce VM fragmentation":"",
- "Stripping":"",
- "Spread the VMs in the cluster nodes":"",
- "Load-aware":"",
- "Maximize the resources available to VMs in a node":"",
- "Rank":"",
- "This field sets which attribute will be used to sort the suitable hosts for this VM":"",
- "There are mandatory fields missing in the capacity section":"",
- "Virtual Machine name missing!":"",
- "Update template properties":"Werk eigenschappen van template bij",
- "Loading":"Laden",
- " does not exists any more":"",
- "The following FILES: ":"",
- " do not exist any more":"",
- "The following HOSTs: [":"",
- "The following CLUSTERs: [":"",
- "do not exist any more":"",
- "Clone a template":"Kloon een template",
- "Clone Template":"",
- "Several templates are selected, please choose prefix to name the new copies":"",
- "Auth driver":"",
- "Core":"",
- "x509":"x509",
- "LDAP":"",
- "Public":"",
- "Create User":"",
- "Username":"Gebruikersnaam",
- "Authentication":"",
- "Change authentication":"",
- "Please choose the new type of authentication for the selected users":"",
- "This will change the main group of the selected users. Select the new group":"",
- "Historical usages":"",
- "User info":"Gebruikersinfo",
- "Authentication driver":"",
- "Configuration Attributes":"",
- "Create user":"Creëer gebruiker",
- "User name and password must be filled in":"Gebruikersnaam en wachtwoord moeten ingevuld worden",
- "Fill in a new auth driver":"",
- "User quotas":"Quota van gebruiker",
- "Used CPU":"Gebruikte CPU",
- "Used Memory":"Gebruikt geheugen",
- "IPs":"IP's",
- "Start Time":"Starttijd",
- "VNC":"VNC",
- "Create Virtual Machine":"Maak virtuele machine aan",
- "Select template":"Selecteer sjabloon",
- "VirtualMachine updated correctly":"",
- "Deploy":"Uitrollen",
- "This will deploy the selected VMs on the chosen host":"",
- "Migrate":"Migreren",
- "This will migrate the selected VMs to the chosen host":"",
- "This will live-migrate the selected VMs to the chosen host":"",
- "Hold":"",
- "This will hold selected pending VMs from being deployed":"",
- "Release":"Release",
- "This will release held machines":"",
- "Suspend":"Onderbreken",
- "This will suspend selected machines":"",
- "This will resume selected VMs":"",
- "Stop":"Stoppen",
- "This will stop selected VMs":"",
- "This will force the hypervisor boot action of VMs stuck in UNKNOWN or BOOT state":"",
- "Reboot":"Rebooten",
- "This will send a reboot action to running VMs":"",
- "This will perform a hard reboot on selected VMs":"",
- "Power Off":"",
- "This will send a power off signal to running VMs. They can be resumed later.":"",
- "This will send a forced power off signal to running VMs. They can be resumed later.":"",
- "Undeploy":"",
- "Shuts down the given VM. The VM is saved in the system Datastore.":"",
- "Shutdown":"Afsluiten",
- "This will initiate the shutdown process in the selected VMs":"",
- "This will initiate the shutdown-hard (forced) process in the selected VMs":"",
- "This will delete the selected VMs from the database":"",
- "This will delete and recreate VMs to PENDING state":"",
- "Reschedule":"",
- "This will reschedule selected VMs":"",
- "Un-Reschedule":"",
- "This will cancel the rescheduling for the selected VMs":"",
- "SUSPENDED":"ONDERBROKEN",
- "HOLD":"",
- "STOPPED":"",
- "POWEROFF":"",
- "#":"",
- "Action":"",
- "Reason":"Reden",
- "Chg time":"",
- "Total time":"Totale tijd",
- "Prolog time":"",
- "LCM State":"LCM-status",
- "Start time":"Starttijd",
- "Deploy ID":"",
- "Capacity":"Capaciteit",
- "Snapshots":"",
- "Log":"",
- "Actions":"",
- "Schedule action":"",
- "ACTION":"",
- "TIME":"",
- "DONE":"",
- "MESSAGE":"",
- "shutdown":"",
- "hold":"",
- "release":"Release",
- "stop":"",
- "cancel":"",
- "suspend":"",
- "resume":"",
- "restart":"",
- "resubmit":"",
- "reboot":"",
- "reset":"",
- "poweroff":"",
- "snapshot-create":"",
- "shutdown-hard":"",
- "boot":"",
- "delete":"",
- "delete-recreate":"",
- "reboot-hard":"",
- "poweroff-hard":"",
- "undeploy":"",
- "undeploy-hard":"",
- "Date Time Picker":"",
- "Done":"",
- "Attach new disk":"",
- "Image / Format-Size":"",
- "Save as":"",
- "No disks to show":"",
- "in progress":"",
- "deferred snapshot in progress":"",
- "hot snapshot in progress":"",
- "attach/detach in progress":"",
- "Snapshot":"",
- "Detach":"Ontkoppelen",
- "YES":"",
- "NO":"",
- "Virtual Machine ID":"",
- "Disk ID":"",
- "Image name":"",
- "Snapshot type":"",
- "Deferred":"",
- "Hot":"",
- "Sets the specified VM disk to be saved in a new Image.":"",
- "Deferred: The Image is created immediately, but the contents are saved only if the VM is shut down gracefully (i.e., using Shutdown; not Delete)":"",
- "Hot: The Image will be saved immediately.":"",
- "Take snapshot":"",
- "Please provide a name for the new image":"",
- "Attach":"",
- "Attach new nic":"",
- "MAC":"MAC",
- "IPv6 Site":"",
- "IPv6 Global":"",
- "No nics to show":"",
- "NET RX":"",
- "NET TX":"",
- "Resize VM capacity":"",
- "REAL CPU":"",
- "REAL MEMORY":"",
- "Enforce":"",
- "If it is set to true, the host capacity will be checked. This will only affect oneadmin requests, regular users resize requests will always be enforced":"",
- "Resize":"",
- "Timestamp":"",
- "No snapshots to show":"",
- "Revert":"",
- "Snapshot name":"",
- "You have not selected a template":"U hebt geen template geselecteerd",
- "VNC connection":"VNC-connectie",
- "Canvas not supported.":"",
- "Create Virtual Network":"Maak virtueel netwerk aan",
- "IPv4":"",
- "IPv6":"",
- "N. Address":"",
- "N. Mask":"",
- "Site prefix":"",
- "Global prefix":"",
- "DNS":"",
- "Gateway":"",
- "Fixed network":"",
- "Ranged network":"",
- "Remove selected":"Verwijder selectie",
- "Define a subnet by IP range":"Definieer subnet met IP-range",
- "IP Start":"IP Start",
- "IP End":"IP Einde",
- "MAC Start":"",
- "N. Size":"",
- "Network model":"",
- "Default":"Standaard",
- "Physical device":"Fysiek apparaat",
- "VLAN":"VLAN",
- "VLAN ID":"VLAN ID",
- "Custom attributes":"Aangepaste eigenschappen",
- "Value":"Waarde",
- "Write the Virtual Network template here":"",
- "Please, choose and modify the virtual network you want to update":"Selecteer en wijzig alstublieft het virtuele netwerk dat u wilt bijwerken",
- "Select a network":"Selecteer een netwerk",
- "Virtual network information":"Informatie over virtueel netwerk",
- "Lease management":"Leasebeheer",
- "Network information":"",
- "Network mask":"Netwerkmasker",
- "IPv6 Global prefix":"",
- "IPv6 Site prefix":"",
- "Leases information":"Informatie over leases",
- "Hold IP":"",
- "Add IP":"",
- "No leases to show":"",
- "VM:":"",
- "Please provide a lease IP or MAC":"",
- "Virtual Network name missing!":"Naam van virtueel netwerk ontbreekt!",
- "There are missing network parameters":"Er ontbreken netwerkparameters",
- "MAC Start must be specified":"",
- "Virtual Resources":"",
- "Submitted":"Verstuurd",
- "Error":"Error",
- "Info":"Info",
- "Cannot contact server: is it running and reachable?":"Kan geen contact maken met de server: is deze online en bereikbaar?",
- "Network is unreachable: is OpenNebula running?":"Netwerk onbereikbaar: draait OpenNebula?",
- "Unauthorized":"Onbevoegd",
- "Please select":"Selecteer",
- "Update template":"Template bijwerken",
- "Please select an element":"",
- "Ownership":"",
- "Previous action":"Vorige actie",
- "Confirmation of action":"Bevestiging van actie",
- "Confirm":"",
- "You have to confirm this action.":"U moet deze actie bevestigen",
- "Do you want to proceed?":"Wilt u doorgaan?",
- "OK":"OK",
- "Cancel":"Annuleren",
- "You need to select something.":"U moet een selectie maken",
- "You have to confirm this action":""
-}
|
[-]
[+]
|
Deleted |
opennebula-4.0.0.tar.bz2/src/sunstone/locale/languages/pl.js
^
|
@@ -1,674 +0,0 @@
-lang="pl"
-datatable_lang="pl_datatable.txt"
-locale={
- "":"",
- "Access Control Lists":"Listy kontroli dostępu",
- "Search":"Szukaj",
- "ID":"ID",
- "Applies to":"Dotyczy",
- "Affected resources":"Dotyczy zasobów",
- "Resource ID / Owned by":"ID zasobu",
- "Allowed operations":"Dozwolone operacje",
- "ACL String":"Reguła ACL",
- "Create ACL":"Stwórz regułę",
- "This rule applies to":"Ta reguła odnosi się do",
- "Hosts":"Gospodarze",
- "Clusters":"Klastry",
- "Datastores":"Magazyny danych",
- "Virtual Machines":"Maszyny wirtualne",
- "Virtual Networks":"Wirtualne sieci",
- "Images":"Obrazy",
- "Templates":"Szablony",
- "Users":"Użytkownicy",
- "Groups":"Grupy",
- "Documents":"Dokumenty",
- "Resource subset":"Podzbiór zasobów",
- "All":"Wszystkie",
- "Specific ID":"Specyficzny ID",
- "Owned by group":"Należący do grupy",
- "Assigned to cluster":"Przypisany do klastra",
- "Resource ID":"ID Zasobu",
- "Group":"Grupa",
- "Cluster":"Klaster",
- "Use":"Używanie",
- "Manage":"Zarządzanie",
- "Administrate":"Administrowanie",
- "Create":"Stwórz",
- "ACL String preview":"Podgląd reguły ACL",
- "Reset":"Resetuj",
- "Close":"Zamknij",
- "Delete":"Usuń",
- "ACLs":"Reguły",
- "User":"Użytkownik",
- "Group ":"Grupa",
- "Cluster ID":"ID Klastra",
- "VM Templates":"Szablony maszyn",
- "Please specify to who this ACL applies":"Zdefiniuj do kogo odnosi się ta reguła",
- "Please select at least one resource":"Wybierz przynajmniej jeden zasób",
- "Please provide a resource ID for the resource(s) in this rule":"Podaj ID zasobu dla zasobu(ów) w tej regule",
- "Name":"Nazwa",
- "RVMs":"RVMs",
- "Real CPU":"Rzeczywiste CPU",
- "Allocated CPU":"Przydzielone CPU",
- "Real MEM":"Rzeczywista pamięć",
- "Allocated MEM":"Przydzielona pamięć",
- "Status":"Status",
- "IM MAD":"IM MAD",
- "VM MAD":"VM MAD",
- "Last monitored on":"Ostatnio monitorowany",
- "Owner":"Właściciel",
- "Type":"Typ",
- "Bridge":"Most",
- "Leases":"Dzierżawy",
- "Basepath":"Ścieżka",
- "TM MAD":"TM MAD",
- "DS MAD":"DS MAD",
- "System":"System",
- "Create Cluster":"Stwórz klaster",
- "Update Cluster":"Edytuj klaster",
- "Please select one or more hosts from the list":"Wybierz jednego lub więcej gospodarzy z listy",
- "You selected the following hosts:":"Wybrano następujących gospodarzy:",
- "Please select one or more vnets from the list":"Wybierz jedną lub więcej sieć wirtualną z listy",
- "You selected the following vnets:":"Wybrano następujące sieci wirtualne:",
- "Please select one or more datastores from the list":"Wybierz jeden lub więcej magazyn danych z listy",
- "You selected the following datastores:":"Wybrano następujące magazyny danych:",
- "Update":"Edytuj",
- "Cluster name missing!":"Nazwa klastra jest obowiązkowa!",
- "Create cluster":"Stwórz klaster",
- "Update cluster":"Edytuj klaster",
- "Please select one (and just one) cluster to update.":"Wybierz jeden (i tylko jeden) klaster do edycji",
- "VNets":"Sieci wirtualne",
- "Cluster updated correctly":"Edycja klastra przebiegła pomyślnie",
- "Cluster information":"Informacje o klastrze",
- "Cluster Hosts":"Gospodarze w klastrze",
- "Cluster Virtual Networks":"Sieci wirtualne w klastrze",
- "Cluster Datastores":"Magazyny danych w klastrze",
- "Information":"Monitorowanie",
- "id":"id",
- "Configuration":"Konfiguracja",
- "User information":"Informacje o użytkowniku",
- "Language":"Język",
- "Catalan":"Kataloński",
- "Chinese (TW)":"Chiński (TW)",
- "Czech (CZ)":"Czeski (CZ)",
- "English (US)":"Angielski (US)",
- "French (FR)":"Francuski (FR)",
- "German":"Niemiecki",
- "Greek (GR)":"Grecki (GR)",
- "Italian (IT)":"Włoski (IT)",
- "Persian (IR)":"Perski (IR)",
- "Portuguese (BR)":"Portugalski (BR)",
- "Portuguese (PT)":"Portugalski (PT)",
- "Russian (RU)":"Rosyjski (RU)",
- "Slovak (SK)":"Słowacki (SK)",
- "Spanish (SP)":"Hiszpański (SP)",
- "Views":"Widoki",
- "VNC Secure websockets":"VNC Secure websockets",
- "Update config":"Zaktualizuj konfigurację",
- "Update Password":"Zaktualizuj hasło",
- "New password":"Nowe hasło",
- "Change":"Zmień",
- "Template updated correctly":"Szablon zaktualizowany pomyślnie",
- "Change password successful":"Hasło zmienione pomyślnie",
- "Change password":"Zmień hasło",
- "Fill in a new password":"Wypełnij nowe hasło",
- "Group ID":"ID Grupy",
- "Group Name":"Nazwa grupy",
- "Password":"Hasło",
- "Update password":"",
- "Custom Attributes":"",
- "Dashboard":"Kokpit",
- "Storage":"Zasoby dyskowe",
- "IMAGES":"OBRAZÓW",
- "USED":"ZUŻYTE",
- "USERS":"UŻYTKOWNIKÓW",
- "GROUPS":"GRUPY",
- "Network":"Sieć",
- "VNETS":"VNETÓW",
- "USED IPs":"UŻYWANYCH IP",
- "TOTAL":"RAZEM",
- "ON":"AKTYWNY",
- "OFF":"WYŁĄCZONY",
- "ERROR":"BŁĄD",
- "CPU":"PROCESOR",
- "MEMORY":"PAMIĘĆ",
- "Allocated":"Przydzielone",
- "Real":"Rzeczywiste",
- "Total":"Łącznie",
- "ACTIVE":"AKTYWNYCH",
- "PENDING":"OCZEKUJE",
- "FAILED":"BŁĄD",
- "NET DOWNLOAD SPEED":"PRĘDKOŚĆ POBIERANIA",
- "NET UPLOAD SPEED":"PRĘDKOŚĆ WYSYŁANIA",
- "Create Datastore":"Stwórz magazyn danych",
- "Wizard":"Kreator",
- "Advanced mode":"Tryb zaawansowany",
- "Presets":"Ustawienie",
- "Filesystem":"System plików",
- "VMware (FS Based)":"VMware (FS Based)",
- "VMware (VMFS Based)":"VMware (VMFS Based)",
- "iSCSI":"iSCSI",
- "LVM":"LVM",
- "Ceph":"Ceph",
- "Custom":"Niestandardowy",
- "Files":"Pliki",
- "Disk type":"Typ dysku",
- "File":"Plik",
- "Block":"Urządzenie blokowe",
- "RBD":"RBD",
- "Managers":"Zarządcy",
- "Datastore":"Magazyn danych",
- "VMware":"VMware",
- "VMFS":"VMFS",
- "Custom DS_MAD":"Niestandardowy DS_MAD",
- "Transfer":"Transfer",
- "Shared":"Współdzielony",
- "SSH":"SSH",
- "qcow2":"qcow2",
- "Dummy":"Domyślny",
- "Custom TM_MAD":"Niestandardowy TM_MAD",
- "Safe Directories":"Bezpieczne katalogi",
- "Paths that can not be used to register images. A space separated list of paths. This will prevent users registering important files as VM images and accessing them thourgh their VMs. OpenNebula will automatically add its configuration directories: /var/lib/one, /etc/one and oneadmin's home ($HOME).":"Scieżki w których nie można zapisać obrazu, oddzielone spacjami. Zapobiega to zapisywaniu plików z nazwą Wirtualnej Maszyny oraz późniejszego dostępu do nich przez te maszyny. OpenNebula automatycznie doda ścieżki konfiguracyjne: : /var/lib/one, /etc/one oraz katalog domowy użytkownika oneadmin ($HOME).",
- "Restricted Directories":"Ograniczone katalogi",
- "If you need to un-block a directory under one of the RESTRICTED_DIRS":"Musisz usunąć katalog z listy katalogów zablokowanych 'RESTRICTED_DIRS'.",
- "Host Bridge List":"Lista mostków gospodarza",
- "Use SSH for Datastore Manager":"Użyj SSH przy korzystaniu z Managera Magazynów",
- "Use SSH for Transfer Manager":"Użyj SSH przy korzystaniu z Managera Transferu",
- "Storage Server":"Serwer zasobów dyskowych",
- "Base IQN":"Adres IQN",
- "Volume Group Name":"Nazwa Grupy Woluminów",
- "Size":"Wielkość",
- "Registration time":"Czas rejestracji",
- "Persistent":"Trwały",
- "#VMS":"#VMS",
- "Target":"Cel",
- "Datastore updated correctly":"Magazyn danych zaktualizowany pomyślnie",
- "Select cluster":"Wybierz klaster",
- "Select the destination cluster:":"Wybierz docelowy klaster:",
- "Change owner":"Zmień właściciela",
- "Select the new owner":"Wybierz nowego właściciela",
- "Change group":"Zmień grupę",
- "Select the new group":"Wybierz nową grupę",
- "Base path":"Ścieżka",
- "Please select a cluster for this datastore":"Wybierz klaster dla tego magazynu danych",
- "Files & Kernels":"Pliki i jądra",
- "SIZE":"UŻYTYCH",
- "Create File":"Stwórz plik",
- "Name that the File will get. Every file must have a unique name.":"Nazwa pliku. Każdy plik musi posiadać unikalną nazwę.",
- "Description":"Opis",
- "Human readable description of the file for other users.":"Opis obrazu dla pozostałych użytkowników.",
- "Kernel":"Jądro",
- "Ramdisk":"Ramdysk",
- "Context":"Kontekst",
- "Type of the file, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"Typ pliku opisany dokładniej w następnej sekcji. Jeżeli pominięty, domyślną wartością jest wartość ustawiona w pliku oned.conf.",
- "Select the datastore for this file":"Wybierz magazyn danych dla tego pliku",
- "File location":"Lokalizacja pliku",
- "Provide a path":"Podaj ścieżkę",
- "Upload":"Załaduj",
- "Path":"Ścieżka",
- "Path to the original file that will be copied to the file repository. If not specified for a DATABLOCK type file, an empty file will be created.":"Ścieżka do pliku który zostanie skopiowany do repozytorium plików. Jeśli nie zostanie podana dla typu DATABLOCK, zostanie stworzony pusty plik.",
- "Enable":"Włącz",
- "Disable":"Wyłącz",
- "Register time":"Czas rejestracji",
- "Filesystem type":"System plików",
- "State":"Stan",
- "Running VMS":"Działające maszyny",
- "Custom attribute name and value must be filled in":"Nazwa i wartość w ustawieniach niestandardowych musi być wypełniona",
- "Uploading...":"Przesyłanie...",
- "There are mandatory parameters missing":"Niektóre wymagane parametry zostały pominięte",
- "Please select a datastore for this file":"Wybierz magazyn danych dla tego pliku",
- "Memory":"Pamięć",
- "Net TX":"Net TX",
- "Net RX":"Net RX",
- "VMs":"VMs",
- "Create Group":"Stwórz Grupę",
- "Update Quota":"Edytuj limit",
- "Quota type":"Typ limitu",
- "Virtual Machine":"Maszyna wirtualna",
- "Image":"Obraz",
- "Max VMs":"Max VMs",
- "Max Memory (MB)":"Maksimum pamięci (MB)",
- "Max CPU":"Maksymalne CPU",
- "Max size (MB)":"Maksymany rozmiar (MB)",
- "Max images":"Maksimum obrazów",
- "Max RVMs":"Max RVMs",
- "Max leases":"Maksimum dzierżaw",
- "Add/edit quota":"Dodaj/edytuj limit",
- "Quota":"Limit",
- "Edit":"Edytuj",
- "Apply changes":"Zapisz zmiany",
- "Quotas updated correctly":"Limity zaktualizowane poprawnie",
- "Update quotas":"Edytuj limity",
- "Group info":"Informacje o grupach",
- "Quotas":"Limity",
- "Create group":"Stwórz grupę",
- "Group quotas":"Limity grup",
- "Create Host":"Stwórz gospodarza",
- "Hostname":"Hostname",
- "Drivers":"Sterowniki",
- "Virtualization":"Nadzorca",
- "KVM":"KVM",
- "XEN":"XEN",
- "EC2":"EC2",
- "Custom VMM_MAD":"Niestandardowy VMM_MAD",
- "Ganglia":"Ganglia",
- "Custom IM_MAD":"Niestandardowy IM_MAD",
- "Virtual Network":"Sieć wirtualna",
- "Default (dummy)":"Domyślny",
- "Firewall":"Ściana ogniowa",
- "802.1Q":"802.1Q",
- "ebtables":"ebtables",
- "Open vSwitch":"Open vSwitch",
- "Custom VNM_MAD":"Niestandardowy VNM_MAD",
- "Delete host":"Usuń gospodarza",
- "Graphs":"Wykresy",
- "INIT":"INIT",
- "UPDATE":"UPDATE",
- "RETRY":"Ponów",
- "Host":"Gospodarz",
- "VN MAD":"VN MAD",
- "Total Mem":"Pamięć całkowita",
- "Used Mem (real)":"Pamięć użyta (realnie)",
- "Used Mem (allocated)":"Pamięć użyta (przydzielona)",
- "Total CPU":"Łącznie CPU",
- "Used CPU (real)":"Procesory (realnie)",
- "Used CPU (allocated)":"Procesory (przydzielone)",
- "Running VMs":"Działające maszyny",
- "Create host":"Stwórz gospodarza",
- "Host name missing!":"Nazwa gospodarza jest obowiązkowa!",
- "Create Image":"Stwórz obraz",
- "Name that the Image will get. Every image must have a unique name.":"Nazwa obrazu. Każdy obraz musi posiadać unikalną nazwę.",
- "Human readable description of the image for other users.":"Opis obrazu dla pozostałych użytkowników.",
- "OS":"SO",
- "CDROM":"CDROM",
- "DATABLOCK":"DATABLOCK",
- "Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"Typ obrazu opisany dokładniej w następnej sekcji. Jeżeli pominięty, domyślną wartością jest wartość ustawiona w pliku oned.conf.",
- "Select the datastore for this image":"Wybierz magazyn danych dla tego obrazu",
- "Persistence of the image":"Trwałość obrazu",
- "Image location":"Położenie obrazu",
- "Empty datablock":"Pusty datablock",
- "Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.":"Ścieżka do pliku który zostanie skopiowany do repozytorium obrazów. Jeśli nie zostanie podana dla typu DATABLOCK, zostanie stworzony pusty obraz.",
- "Size of the datablock in MB.":"Wielkość datablocku w MB",
- "FS type":"System plików",
- "Type of file system to be built. This can be any value understood by mkfs unix command.":"Nazwa systemu plików. Może być to dowolna wartość zrozumiała przez unixowe polecenie mkfs.",
- "Advanced options":"Zaawansowane",
- "Device prefix":"Prefix urządzenia",
- "Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"Prefiks dla emulowanego urządzenia poprzez które będzie dostępny ten obraz np. \"hd\", \"sd\". Jeśli pominięty, domyślną wartością jest wartość w pliku oned.conf.",
- "Driver":"Sterownik",
- "Specific image mapping driver. KVM: raw, qcow2. XEN: tap:aio, file:":"Specyficzny sterownik mapowania obrazu. Dla KVM: raw, qcow2. Dla XEN: tap:aio, file:",
- "Target on which the image will be mounted at. For example: hda, sdb...":"Urządzenie pod którym dostępny będzie obraz np. hda, sdb...",
- "Make persistent":"Uczyń trwałym",
- "Make non persistent":"Uczyń nietrwałym",
- "Clone":"Sklonuj",
- "yes":"tak",
- "no":"nie",
- "Datablock":"Datablock",
- "Please select a datastore for this image":"Wybierz magazyn danych dla tego obrazu",
- "Clone Image":"Sklonuj obraz",
- "Several image are selected, please choose prefix to name the new copies":"Został wybrany więcej niż jeden obraz, wybierz prefiks, który zostanie dodany do kopii",
- "Prefix":"Prefiks",
- "Infrastructure":"Infrastruktura",
- "Import":"Importuj",
- "OpenNebula Marketplace":"OpenNebula Marketplace",
- "Publisher":"Wydawca",
- "Hypervisor":"Nadzorca",
- "Arch":"Architektura",
- "Format":"Format",
- "Tags":"Tagi",
- "Marketplace":"Marketplace",
- "Appliance information":"Appliance information",
- "Appliance":"Appliance",
- "URL":"URL",
- "link":"link",
- "Downloads":"Pobrania",
- "Create VM Template":"Stwórz szablon maszyny wirtualnej",
- "Update VM Template":"Edytuj szablon maszyny",
- "Write the Virtual Machine template here":"Tu wpisz szablon maszyny wirtualnej",
- "Please, choose and modify the template you want to update":"Wybierz szablon który chcesz uaktualnić",
- "Select a template":"Wybierz szablon",
- "Permissions":"Uprawnienia",
- "Admin":"Administrator",
- "Other":"Pozostałe",
- "Template":"Szablon",
- "Instantiate VM Template":"Wywołaj szablon maszyny",
- "VM Name":"Nazwa maszyny",
- "Defaults to template name when emtpy":"Jeśli puste, zostanie użyta nazwa szablonu",
- "Deploy # VMs":"Powołaj # maszyn",
- "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"Możesz użyć symbolu gwiazdki %i jako symbolu wieloznacznego. Podczas tworzenia wielu maszyn wirtulanych %i zostanie zastąpiona kolejnym numerem zaczynając od 0.",
- "Instantiate":"Twórz",
- "Template information":"Informacje o szablonie",
- "NAME":"Nazwa",
- "Name that the VM will get for description purposes.":"",
- "Percentage of CPU divided by 100 required for the Virtual Machine. Half a processor is written 0.5.":"Procent procesora podzielony przez 100 wymagany dla maszyny wirtualnej. Pół procesora to 0.5.",
- "MB":"MB",
- "GB":"GB",
- "Amount of RAM required for the VM, in Megabytes.":"Ilość pamięci wymaganej dla maszyny wirtualnej w megabajtach",
- "VCPU":"VCPU",
- "Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"Liczba wirtualnych procesorów. Ta wartość jest opcjonalna, domyślnie zachowana jest polityka nadzorcy, przeważnie jeden wirtualny procesor.",
- "Volatile Disk":"Dysk ulotny",
- "Please select an image from the list":"Wybierz obraz dysku z powyższej listy",
- "You selected the following image: ":"Wybrano następujący obraz:",
- "TARGET":"CEL",
- "Device to map image disk. If set, it will overwrite the default device mapping":"Urządzenie mapujące obrazku dysku. Jeśli jest podane, nadpisze standardowe ustawienia mapowania urządzeń.",
- "DRIVER":"STEROWNIK",
- "Specific image mapping driver. KVM: raw, qcow2. Xen:tap:aio:, file:. VMware unsupported":"Sterownik mapowania dysku. KVM: raw, qcow2. Xen:tap:aio:, plik:. VMware nie jest wspierany.",
- "TYPE":"TYP",
- "FS":"SP",
- "Swap":"Swap",
- "FORMAT":"FORMAT",
- "Filesystem type for the fs images":"System plików dla obrazów",
- "Size of the new disk":"Wielkość nowego dysku",
- "Please select a network from the list":"",
- "You selected the following network:":"",
- "IP":"IP",
- "Request an specific IP from the Network":"Zarządaj specyficznego adresu IP z tej sieci",
- "MODEL":"MODEL",
- "Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"Typ sprzętu, który będzie emulowany przez ten interfejs sieciowy. W Xen jest to typ atrybutu vif.",
- "TCP Firewall":"Zapora TCP",
- "PORTS":"PORTY",
- "A list of ports separated by commas or a ranges separated by semicolons, e.g.: 22,80,5900:6000":"Lista i/lub zakres portów oddzielonych przecinkami, np. 22,80,5900:6000",
- "UDP Firewall":"Zapora UDP",
- "Whitelist":"Biała lista",
- "Blacklist":"Czarna lista",
- "ICMP":"ICMP",
- "Drop":"Odrzuć",
- "There are mandatory parameters missing in this section":"Niektóre z wymaganych parametrów zostały pominięte",
- "Add another disk":"Dodaj kolejny dysk",
- "DISK":"DYSK",
- "Add another nic":"Dodaj kolejny interfejs sieciowy",
- "NIC":"NIC",
- "Boot":"Rozruch z",
- "Features":"Cechy",
- "CPU architecture to virtualization":"Architektura procesora",
- "HD":"HD",
- "FD":"FD",
- "NETWORK":"SIEĆ",
- "Boot device type":"Typ urządzenia rozruchowego",
- "Root":"Korzeń",
- "Device to be mounted as root":"Urządzenie, które zostanie zamontowane jako root",
- "Kernel cmd":"Argumenty",
- "Arguments for the booting kernel":"Dodatkowe argumenty podawane do jądra systemu",
- "Bootloader":"Program rozruchowy",
- "Path to the bootloader executable":"Ścieżka do pliku wykonywalnego bootloadera",
- "Registered Image":"Zarejestrowany obraz",
- "Remote PATH":"Ścieżka zdalna",
- "Please select a Kernel from the list":"Wybierz jądro z powyższej listy",
- "You selected the following Kernel: ":"Wybrałeś następujące jądro:",
- "PATH":"Ścieżka",
- "Path to the OS kernel to boot the image":"Ścieżka do jądra systemu operacyjnego który uruchomi obraz",
- "Registered Image ":"Zarejestrowany obraz",
- "Please select a Ramdisk from the list":"Wybierz Ramdysk z powyższej listy",
- "You selected the following Ramdisk: ":"Wybrałeś następujący ramdisk:",
- "Path to the initrd image":"Ścieżka do obrazu initrd",
- "ACPI":"ACPI",
- "Yes":"Tak",
- "No":"Nie",
- "Add support in the VM for Advanced Configuration and Power Interface (ACPI)":"Włącz wsparcie w maszynie wirtualnej dla Advanced Configuration and Power Interface (ACPI)",
- "PAE":"PAE",
- "Add support in the VM for Physical Address Extension (PAE)":"Włącz wsparcie dla technologii Physical Address Extension (PAE)",
- "Graphics":"Urządzenia ",
- "Listen IP":"IP nasłuchu",
- "IP to listen on":"Adres IP do nasłuchu",
- "Port":"Port",
- "Port for the VNC/SPICE server":"Port dla serwera VNC/SPICE",
- "Password for the VNC/SPICE server":"Hasło dla serwera VNC/SPICE",
- "Keymap":"Układ klawiatury",
- "Keyboard configuration locale to use in the VNC/SPICE display":"Układ klawiatury, który będzie używany w VNC/SPICE",
- "Inputs":"Urządzenia wejściowe",
- "Mouse":"Mysz",
- "Tablet":"Tablet",
- "USB":"USB",
- "PS2":"PS2",
- "Add":"Dodaj",
- "BUS":"MAGISTRALA",
- "Network & SSH":"Sieć i SSH",
- "Custom variables":"Niestandardowe parametry",
- " Add SSH contextualization":"Dostosuj SSH",
- "Add an ssh public key to the context. If the Public Key textarea is empty then the user variable SSH_PUBLIC_KEY will be used.":"Dodaj publiczny klucz ssh do kontekstu. Jeśli pole Klucz publiczny jest puste, zostanie użyta zmienna SSH_PUBLIC_KEY.",
- "Public Key":"Klucz publiczny",
- " Add Network contextualization":"Dostosuj ustawienia sieci",
- "Add network contextualization parameters. For each NIC defined in the NETWORK section, ETH$i_IP, ETH$i_NETWORK... parameters will be included in the CONTEXT section and will be available in the Virtual Machine":"Dodaj parametry kontekstualizacji. Dla każdej karty sieciowej zdefiniowanej w sekcji SIEĆ zostaną utworzone parametry ETH$i_IP, ETH$i_SIEĆ... i będą dostępne w maszynie wirtualnej",
- "Please select files from the list":"Wybierz pliki z listy",
- "You selected the following files:":"Wybrałeś następujące pliki:",
- "KEY":"KLUCZ",
- "VALUE":"WARTOŚĆ",
- "Placement":"Położenie",
- "Policy":"Polityki",
- "Select Hosts ":"Wybierz gospodarzy",
- "Select Clusters ":"Wybierz klastry",
- "Please select one or more clusters from the list":"Wybierz jeden lub więcej klastrów z listy",
- "You selected the following clusters:":"Wybrałeś następujące klastry:",
- "Requirements":"Wymagania",
- "Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"Wyrażenie boolowskie, które wyklucza gospodarzy z listy dostępnych gospodarzy dla tej maszyny wirtualnej",
- "Packing":"Upakowywanie",
- "Pack the VMs in the cluster nodes to reduce VM fragmentation":"Alokuje maszny wirtualne odpowiednich gospodarzach by zredukować ich fragmentację.",
- "Stripping":"Rozproszenie",
- "Spread the VMs in the cluster nodes":"Rozrzuca maszyny wirtualne po różnych gospodarzach w klastrze",
- "Load-aware":"Równoważenie obciążenia",
- "Maximize the resources available to VMs in a node":"Zapewnia największą ilość zasobów dostępnych dla maszyny wirtualnej w gospodarzu",
- "Rank":"Ranga",
- "This field sets which attribute will be used to sort the suitable hosts for this VM":"Te pole ustawia, który z atrybutów zostanie użyty do sortowania dostępnych gospodarzy dla tej maszyny wirtualnej",
- "There are mandatory fields missing in the capacity section":"Niektóre z wymaganych parametrów w sekcji pojemność zostały pominięte",
- "Virtual Machine name missing!":"",
- "Update template properties":"Edytuj właściwości szablonu",
- "Loading":"Ładowanie",
- " does not exists any more":"już nie istnieje",
- "The following FILES: ":"Następujące PLIKI:",
- " do not exist any more":"już nie istnieją",
- "The following HOSTs: [":"Następujący GOSPODARZE: [",
- "The following CLUSTERs: [":"Następujące KLASTRY: [",
- "do not exist any more":"już nie istnieją",
- "Clone a template":"Sklonuj szablon",
- "Clone Template":"Sklonuj szablon",
- "Several templates are selected, please choose prefix to name the new copies":"Został wybrany więcej niż jeden szablon, wybierz prefiks, który zostany dodany do kopii",
- "Auth driver":"Metoda autoryzacji",
- "Core":"Rdzeń",
- "x509":"x509",
- "LDAP":"",
- "Public":"Publiczny",
- "Create User":"Stwórz użytkownika",
- "Username":"Nazwa użytkownika",
- "Authentication":"Autoryzacja",
- "Change authentication":"Zmień autoryzację",
- "Please choose the new type of authentication for the selected users":"Wybierz nowy mechanizm autoryzacji dla wybranych użytkowników",
- "This will change the main group of the selected users. Select the new group":"Ta opcja zmieni główną grupę wybranych użytkowników. Wybierz nową grupę",
- "Historical usages":"Poprzednie użycia",
- "User info":"Informacje o użytkowniku",
- "Authentication driver":"Metoda autentykacji",
- "Configuration Attributes":"Ustawienia",
- "Create user":"Stwórz użytkownika",
- "User name and password must be filled in":"Nazwa użytkownika i hasło muszą być wypełnione",
- "Fill in a new auth driver":"",
- "User quotas":"Limity użytkownika",
- "Used CPU":"Zużyty procesor",
- "Used Memory":"Zużyta pamięć",
- "IPs":"Adresy IP",
- "Start Time":"Czas rozpoczęcia",
- "VNC":"VNC",
- "Create Virtual Machine":"Stwórz maszynę wirtualną",
- "Select template":"Wybierz szablon",
- "VirtualMachine updated correctly":"Wirtualna maszyna zaktualizowana pomyślnie",
- "Deploy":"Powołaj",
- "This will deploy the selected VMs on the chosen host":"Rozpocznie powoływanie maszyn wirtualnych na wybranym gospodarzu",
- "Migrate":"Migruj",
- "This will migrate the selected VMs to the chosen host":"Rozpocznie proces migracji wybranych maszyn wirtualnych na wybranego gospodarza",
- "This will live-migrate the selected VMs to the chosen host":"Rozpocznie proces migracji w czasie rzeczywistym wybranych maszyn wirtualnych na wybranego gospodarza",
- "Hold":"Wstrzymaj",
- "This will hold selected pending VMs from being deployed":"Wstrzyma powoływanie wybranych wstrzymanych maszyn wirtualnych",
- "Release":"Odłącz",
- "This will release held machines":"Wznowi wstrzymane maszyny",
- "Suspend":"Wstrzymaj",
- "This will suspend selected machines":"Wstrzyma wybrane maszyny",
- "This will resume selected VMs":"Wznowi wybrane maszyny",
- "Stop":"Stop",
- "This will stop selected VMs":"Zatrzyma to wybrane wirtualne maszyny",
- "This will force the hypervisor boot action of VMs stuck in UNKNOWN or BOOT state":"Wymusi akcję rozruchu w maszynach, które są w stanie NIEZNANY lub ROZRUCH",
- "Reboot":"Uruchom ponownie",
- "This will send a reboot action to running VMs":"Uruchomi ponownie wybrane maszyny wirtualne",
- "This will perform a hard reboot on selected VMs":"Wykona to twardy restart dla wybranych maszyn wirtualnych",
- "Power Off":"Wyłącz",
- "This will send a power off signal to running VMs. They can be resumed later.":"Wyśle to sygnał wyłączenia do wybranych maszyn wirtualnych. Mogą zostać wznowione później.",
- "This will send a forced power off signal to running VMs. They can be resumed later.":"Wyśle to sygnał wyłączenia do wybranych maszyn wirtualnych. Mogą zostać wznowione później.",
- "Undeploy":"Zatrzymaj",
- "Shuts down the given VM. The VM is saved in the system Datastore.":"Wyłącza wybraną maszynę wirtualną. Maszyna zostanie zapisana w systemowym magazynie danych.",
- "Shutdown":"Wyłącz",
- "This will initiate the shutdown process in the selected VMs":"Rozpocznie proces wyłączania wybranych maszyn wirtualnych",
- "This will initiate the shutdown-hard (forced) process in the selected VMs":"Rozpocznie proces wyłączania (wymuszonego) w wybranych maszynach wirtualnych",
- "This will delete the selected VMs from the database":"Usunie wybrane maszyny wirtualne z bazy danych",
- "This will delete and recreate VMs to PENDING state":"Skasuje i stworzy ponownie maszynę w stanie OCZEKUJĄCY",
- "Reschedule":"Włącz przenoszenie",
- "This will reschedule selected VMs":"Włączy przenoszenie wybranych maszyn między gospodarzami",
- "Un-Reschedule":"Wyłącz przenoszenie",
- "This will cancel the rescheduling for the selected VMs":"Wyłączy przenoszenie wybranych maszyn między gospodarzami",
- "SUSPENDED":"WSTRZYMANY",
- "HOLD":"WSTRZYMANY",
- "STOPPED":"ZATRZYMANY",
- "POWEROFF":"WYŁĄCZONY",
- "#":"#",
- "Action":"Akcja",
- "Reason":"Powód",
- "Chg time":"Czas zmiany",
- "Total time":"Całkowity czas",
- "Prolog time":"Czas prologu",
- "LCM State":"Stan LCM",
- "Start time":"Czas rozpoczęcia",
- "Deploy ID":"ID powołania",
- "Capacity":"Zasoby",
- "Snapshots":"Migawki",
- "Log":"Dziennik",
- "Actions":"Akcje",
- "Schedule action":"Zaplanuj akcję",
- "ACTION":"AKCJA",
- "TIME":"CZAS",
- "DONE":"SKOŃCZONY",
- "MESSAGE":"WIADOMOŚĆ",
- "shutdown":"wyłącz",
- "hold":"wstrzymaj",
- "release":"odłącz",
- "stop":"stop",
- "cancel":"anuluj",
- "suspend":"wstrzymaj",
- "resume":"wznów",
- "restart":"uruchom ponownie",
- "resubmit":"powołaj ponownie",
- "reboot":"restart",
- "reset":"resetuj",
- "poweroff":"wyłącz",
- "snapshot-create":"stwórz migawkę",
- "shutdown-hard":"twarde wyłączenie",
- "boot":"rozruch",
- "delete":"usuń",
- "delete-recreate":"stwórz ponownie",
- "reboot-hard":"twardy restart",
- "poweroff-hard":"wymuś wyłączenie",
- "undeploy":"zatrzymaj",
- "undeploy-hard":"wymuś zatrzymanie",
- "Date Time Picker":"Wybór daty i czasu",
- "Done":"Zakończono",
- "Attach new disk":"Dołącz nowy dysk",
- "Image / Format-Size":"Obraz / format",
- "Save as":"Zapisz jako",
- "No disks to show":"Brak dysków do pokazania",
- "in progress":"W trakcie",
- "deferred snapshot in progress":"Trwa proces odłożonej migawki",
- "hot snapshot in progress":"Trwa proces tworzenia migawki",
- "attach/detach in progress":"Trwa process dołączania/odłączania",
- "Snapshot":"Migawka",
- "Detach":"Odłącz",
- "YES":"TAK",
- "NO":"NIE",
- "Virtual Machine ID":"ID Maszyny wirtualnej",
- "Disk ID":"ID Dysku",
- "Image name":"Nazwa obrazu",
- "Snapshot type":"Typ migawki",
- "Deferred":"Odroczony",
- "Hot":"Gorący",
- "Sets the specified VM disk to be saved in a new Image.":"Wybrany dysk maszyny wirtualnej zostanie zapisany jako nowy obraz",
- "Deferred: The Image is created immediately, but the contents are saved only if the VM is shut down gracefully (i.e., using Shutdown; not Delete)":"Odłożony: Obraz jest stworzony natychmiast, ale jest zapisany jedynie, gdy maszyna wirtualna zostanie wyłączona poprawnie (np. przy użyciu polecenia Wyłącz, a nie Usuń)",
- "Hot: The Image will be saved immediately.":"Na gorąco: Obraz zostanie zapisany natychmiast.",
- "Take snapshot":"Zrób migawkę",
- "Please provide a name for the new image":"Wprowadź nazwę dla nowego obrazu",
- "Attach":"Dołącz",
- "Attach new nic":"Dodaj nową kartę sieciową",
- "MAC":"MAC",
- "IPv6 Site":"",
- "IPv6 Global":"",
- "No nics to show":"Brak interfejsów sieciowych",
- "NET RX":"NET RX",
- "NET TX":"NET TX",
- "Resize VM capacity":"Zmień ilość zasobów",
- "REAL CPU":"RZECZYWISTE CPU",
- "REAL MEMORY":"RZECZYWISTA PAMIĘĆ",
- "Enforce":"Wymuś",
- "If it is set to true, the host capacity will be checked. This will only affect oneadmin requests, regular users resize requests will always be enforced":"Jeśli jest ustawione jako TAK, pojemność gospodarza będzie sprawdzana. Zostanie to użyte tylko w przypadku zapytań od oneadmin. Żądania od zwykłych użytkowników będą zawsze wymuszane.",
- "Resize":"Zmień rozmiar",
- "Timestamp":"Znacznik czasu",
- "No snapshots to show":"Brak migawek do pokazania",
- "Revert":"Cofnij",
- "Snapshot name":"Nazwa migawki",
- "You have not selected a template":"Nie wybrano żadnego szablonu",
- "VNC connection":"Połączenie VNC",
- "Canvas not supported.":"Canvas jest nie wspierany",
- "Create Virtual Network":"Stwórz nową sieć wirtualną",
- "IPv4":"",
- "IPv6":"",
- "N. Address":"Adres sieci",
- "N. Mask":"Maska sieciowa",
- "Site prefix":"",
- "Global prefix":"",
- "DNS":"",
- "Gateway":"",
- "Fixed network":"Sieć stała",
- "Ranged network":"Sieć zakresowa",
- "Remove selected":"Usuń zaznaczony",
- "Define a subnet by IP range":"Zdefiniuj podsieć jako zakres adresów IP",
- "IP Start":"IP początkowe",
- "IP End":"IP końcowe",
- "MAC Start":"",
- "N. Size":"",
- "Network model":"Model sieci",
- "Default":"Domyślny",
- "Physical device":"Urządzenie fizyczne",
- "VLAN":"VLAN",
- "VLAN ID":"VLAN ID",
- "Custom attributes":"Ustawienia niestandardowe",
- "Value":"Wartość",
- "Write the Virtual Network template here":"Tu wpisz szablon wirtualnej sieci",
- "Please, choose and modify the virtual network you want to update":"Wybierz i zmodyfikuj sieć wirtualną, którą chcesz edytować",
- "Select a network":"Wybierz sieć",
- "Virtual network information":"Informacje o wirtualnej sieci",
- "Lease management":"Zarządzanie dzierżawami",
- "Network information":"",
- "Network mask":"Maska sieci",
- "IPv6 Global prefix":"",
- "IPv6 Site prefix":"",
- "Leases information":"Informacje o dzierżawach",
- "Hold IP":"Zarezerwuj IP",
- "Add IP":"Dodaj IP",
- "No leases to show":"Brak dzierżaw",
- "VM:":"VM:",
- "Please provide a lease IP or MAC":"",
- "Virtual Network name missing!":"Nazwa sieci wirtualnej jest wymagana!",
- "There are missing network parameters":"Niektóre wymagane parametry sieciowe nie zostały wypełnione",
- "MAC Start must be specified":"",
- "Virtual Resources":"Zasoby wirtualne",
- "Submitted":"Zatwierdzono",
- "Error":"Błąd",
- "Info":"Info",
- "Cannot contact server: is it running and reachable?":"Nie można połączyć się z serwerem: upewnij się, że jest uruchomiony i osiągalny",
- "Network is unreachable: is OpenNebula running?":"Sieć jest nieosiągalna: czy OpenNebula jest włączona?",
- "Unauthorized":"Nieautoryzowany",
- "Please select":"Proszę wybrać",
- "Update template":"Edytuj szablon",
- "Please select an element":"Wybierz element",
- "Ownership":"Własność",
- "Previous action":"Poprzednia akcja",
- "Confirmation of action":"Potwierdzenie akcji",
- "Confirm":"Potwierdź",
- "You have to confirm this action.":"Musisz potwierdzić tą akcję.",
- "Do you want to proceed?":"Czy chcesz kontynuować?",
- "OK":"OK",
- "Cancel":"Anuluj",
- "You need to select something.":"Musisz coś wybrać.",
- "You have to confirm this action":"Musisz potwierdzić tą akcję."
-}
|
[-]
[+]
|
Deleted |
opennebula-4.0.0.tar.bz2/src/sunstone/locale/languages/zh_CN.js
^
|
@@ -1,674 +0,0 @@
-lang="zh_CN"
-datatable_lang="zh_datatable.txt"
-locale={
- "":"",
- "Access Control Lists":"访问控制列表(ACL)",
- "Search":"搜索",
- "ID":"ID",
- "Applies to":"应用于",
- "Affected resources":"受影响的资源",
- "Resource ID / Owned by":"资源ID / 群组",
- "Allowed operations":"可用的操作",
- "ACL String":"ACL指令",
- "Create ACL":"创建ACL",
- "This rule applies to":"此规则应用于",
- "Hosts":"物理机",
- "Clusters":"集群",
- "Datastores":"数据仓库",
- "Virtual Machines":"虚拟机",
- "Virtual Networks":"虚拟网络",
- "Images":"映像",
- "Templates":"模版",
- "Users":"用户",
- "Groups":"群组",
- "Documents":"文档",
- "Resource subset":"资源子集",
- "All":"全部",
- "Specific ID":"特定ID",
- "Owned by group":"所属群组",
- "Assigned to cluster":"分配给集群",
- "Resource ID":"资源ID",
- "Group":"群组",
- "Cluster":"集群",
- "Use":"使用",
- "Manage":"管理",
- "Administrate":"管理",
- "Create":"创建",
- "ACL String preview":"ACL 指令预览",
- "Reset":"重置",
- "Close":"关闭",
- "Delete":"删除",
- "ACLs":"ACLs",
- "User":"用户",
- "Group ":"群组",
- "Cluster ID":"集群ID",
- "VM Templates":"VM模版",
- "Please specify to who this ACL applies":"请指定这条ACL所适用的对象。",
- "Please select at least one resource":"请至少选择一项资源。",
- "Please provide a resource ID for the resource(s) in this rule":"请提供受此规则所影响的资源的ID。",
- "Name":"名称",
- "RVMs":"运行VM数量",
- "Real CPU":"物理CPU",
- "Allocated CPU":"已分配CPU",
- "Real MEM":"物理内存",
- "Allocated MEM":"已分配内存",
- "Status":"状态",
- "IM MAD":"资源监控中间件",
- "VM MAD":"虚拟机控制中间件",
- "Last monitored on":"上次监测时间",
- "Owner":"所有者",
- "Type":"类型",
- "Bridge":"网桥",
- "Leases":"租用",
- "Basepath":"Base路径",
- "TM MAD":"传输组件",
- "DS MAD":"数据仓库组件",
- "System":"系统设置",
- "Create Cluster":"创建集群",
- "Update Cluster":"更新集群",
- "Please select one or more hosts from the list":"请从列表中选择一个或者多个主机",
- "You selected the following hosts:":"您选中了如下主机:",
- "Please select one or more vnets from the list":"请从列表中选择一个或者多个vnet",
- "You selected the following vnets:":"您选中了如下vnet:",
- "Please select one or more datastores from the list":"请从列表中选择一个或者多个datastore",
- "You selected the following datastores:":"您选中了如下datastore:",
- "Update":"更新",
- "Cluster name missing!":"未填写集群名称!",
- "Create cluster":"创建集群",
- "Update cluster":"更新集群",
- "Please select one (and just one) cluster to update.":"请选择一个(只有一个)需要更新的集群",
- "VNets":"虚拟网络",
- "Cluster updated correctly":"集群已经成功更新",
- "Cluster information":"主机信息",
- "Cluster Hosts":"集群中的主机",
- "Cluster Virtual Networks":"集群中的网络",
- "Cluster Datastores":"集群中的datastore",
- "Information":"信息",
- "id":"id",
- "Configuration":"设置",
- "User information":"用户信息",
- "Language":"语言",
- "Catalan":"加泰隆尼亚语",
- "Chinese (TW)":"Chinese (TW) - 繁体中文(台湾)",
- "Czech (CZ)":"捷克语 (CZ)",
- "English (US)":"英语 (US)",
- "French (FR)":"法语 (FR)",
- "German":"德语",
- "Greek (GR)":"希腊语 (GR)",
- "Italian (IT)":"意大利语 (IT)",
- "Persian (IR)":"波斯语 (IR)",
- "Portuguese (BR)":"葡萄牙语(BR)",
- "Portuguese (PT)":"葡萄牙语 (PT)",
- "Russian (RU)":"俄语 (RU)",
- "Slovak (SK)":"斯洛伐克语 (SK)",
- "Spanish (SP)":"西班牙语 (SP)",
- "Views":"",
- "VNC Secure websockets":"",
- "Update config":"",
- "Update Password":"更新密码",
- "New password":"新密码",
- "Change":"修改",
- "Template updated correctly":"成功更新模版",
- "Change password successful":"成功修改密码",
- "Change password":"修改密码",
- "Fill in a new password":"填写一个新的密码",
- "Group ID":"群组ID",
- "Group Name":"",
- "Password":"密码",
- "Update password":"",
- "Custom Attributes":"",
- "Dashboard":"总控制台",
- "Storage":"存储",
- "IMAGES":"映像",
- "USED":"使用中",
- "USERS":"用户",
- "GROUPS":"群组",
- "Network":"网络",
- "VNETS":"虚拟网络",
- "USED IPs":"",
- "TOTAL":"总计",
- "ON":"开机",
- "OFF":"关闭",
- "ERROR":"错误",
- "CPU":"CPU",
- "MEMORY":"内存",
- "Allocated":"已分配",
- "Real":"实际",
- "Total":"共计",
- "ACTIVE":"ACTIVE",
- "PENDING":"等待",
- "FAILED":"失败",
- "NET DOWNLOAD SPEED":"网络下载速度",
- "NET UPLOAD SPEED":"网络上载速度",
- "Create Datastore":"创建数据仓库",
- "Wizard":"向导",
- "Advanced mode":"高级模式",
- "Presets":"预设参数",
- "Filesystem":"文件系统",
- "VMware (FS Based)":"VMware (基于文件系统)",
- "VMware (VMFS Based)":"VMware (基于VMFS)",
- "iSCSI":"iSCSI",
- "LVM":"LVM",
- "Ceph":"Ceph",
- "Custom":"自定义",
- "Files":"文件",
- "Disk type":"磁盘类型",
- "File":"文件",
- "Block":"Block",
- "RBD":"RBD",
- "Managers":"管理员",
- "Datastore":"数据仓库",
- "VMware":"VMware",
- "VMFS":"VMFS",
- "Custom DS_MAD":"",
- "Transfer":"传输",
- "Shared":"Shared",
- "SSH":"SSH",
- "qcow2":"qcow2",
- "Dummy":"Dummy",
- "Custom TM_MAD":"",
- "Safe Directories":"安全目录",
- "Paths that can not be used to register images. A space separated list of paths. This will prevent users registering important files as VM images and accessing them thourgh their VMs. OpenNebula will automatically add its configuration directories: /var/lib/one, /etc/one and oneadmin's home ($HOME).":"",
- "Restricted Directories":"受限目录",
- "If you need to un-block a directory under one of the RESTRICTED_DIRS":"",
- "Host Bridge List":"主机上的网桥列表",
- "Use SSH for Datastore Manager":"使用SSH管理数据仓库",
- "Use SSH for Transfer Manager":"使用SSH管理数据传输",
- "Storage Server":"存储服务器",
- "Base IQN":"Base IQN",
- "Volume Group Name":"Volume Group的名称",
- "Size":"大小",
- "Registration time":"注册时间",
- "Persistent":"持久性",
- "#VMS":"VM数量",
- "Target":"目标设备名称",
- "Datastore updated correctly":"成功修改数据仓库",
- "Select cluster":"选择集群",
- "Select the destination cluster:":"选择目标集群",
- "Change owner":"变更所有者",
- "Select the new owner":"选择新的所有者",
- "Change group":"变更群组",
- "Select the new group":"选择新的群组",
- "Base path":"Base路径",
- "Please select a cluster for this datastore":"",
- "Files & Kernels":"文件和内核",
- "SIZE":"大小",
- "Create File":"创建文件",
- "Name that the File will get. Every file must have a unique name.":"文件的名称。每个文件的名称必须是唯一的。",
- "Description":"描述",
- "Human readable description of the file for other users.":"供其他用户参考的文件描述。",
- "Kernel":"Kernel",
- "Ramdisk":"Ramdisk",
- "Context":"Context",
- "Type of the file, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"文件类型,详细说明见下一段落。若未填写,将使用oned.conf里的设置作为缺省值(预设为OS)。",
- "Select the datastore for this file":"选择此文件所属的数据仓库",
- "File location":"文件位置",
- "Provide a path":"提供一个路径",
- "Upload":"上传",
- "Path":"路径",
- "Path to the original file that will be copied to the file repository. If not specified for a DATABLOCK type file, an empty file will be created.":"将被复制到文件仓库的原始文件路径。如果DATABLOCK型文件未填写此栏目,将创建一个空的文件。",
- "Enable":"启用",
- "Disable":"停用",
- "Register time":"注册时间",
- "Filesystem type":"文件系统类型",
- "State":"状态",
- "Running VMS":"运行中的VM数量",
- "Custom attribute name and value must be filled in":"必須填写自定义属性的名称和值。",
- "Uploading...":"上传中...",
- "There are mandatory parameters missing":"部分必填的参数尚未填写。",
- "Please select a datastore for this file":"请选择一个数据仓库用来存放文件。",
- "Memory":"内存",
- "Net TX":"网络外发",
- "Net RX":"网络接收",
- "VMs":"VM数量",
- "Create Group":"创建群组",
- "Update Quota":"更新配额",
- "Quota type":"配额类型",
- "Virtual Machine":"虚拟机",
- "Image":"磁盘映像",
- "Max VMs":"最大VM数量",
- "Max Memory (MB)":"最大内存使用量(MB)",
- "Max CPU":"最大CPU數量",
- "Max size (MB)":"最大磁盘使用量(MB)",
- "Max images":"最大磁盘映像数量",
- "Max RVMs":"最大运行的VM数量",
- "Max leases":"最大租用数量",
- "Add/edit quota":"新增/修改配额",
- "Quota":"配额",
- "Edit":"编辑",
- "Apply changes":"应用变更",
- "Quotas updated correctly":"成功修改配额",
- "Update quotas":"修改配额",
- "Group info":"群组信息",
- "Quotas":"配额",
- "Create group":"创建群组",
- "Group quotas":"群组配额",
- "Create Host":"创建主机",
- "Hostname":"",
- "Drivers":"驱动程序",
- "Virtualization":"虚拟化",
- "KVM":"KVM",
- "XEN":"XEN",
- "EC2":"EC2",
- "Custom VMM_MAD":"自定义的VMM_MAD",
- "Ganglia":"Ganglia",
- "Custom IM_MAD":"自定义的IM_MAD",
- "Virtual Network":"虚拟网络",
- "Default (dummy)":"缺省值(dummy)",
- "Firewall":"防火墙",
- "802.1Q":"802.1Q",
- "ebtables":"ebtables",
- "Open vSwitch":"Open vSwitch",
- "Custom VNM_MAD":"自定义的VNM_MAD",
- "Delete host":"删除主机",
- "Graphs":"图表",
- "INIT":"初始化",
- "UPDATE":"更新",
- "RETRY":"重试",
- "Host":"主机",
- "VN MAD":"虚拟网络组件",
- "Total Mem":"内存总数",
- "Used Mem (real)":"内存使用量(实际)",
- "Used Mem (allocated)":"内存使用量(分配)",
- "Total CPU":"总 CPU",
- "Used CPU (real)":"CPU使用量 (实际)",
- "Used CPU (allocated)":"CPU使用量 (分配)",
- "Running VMs":"运行VM数量",
- "Create host":"创建主机",
- "Host name missing!":"未填写主机名称!",
- "Create Image":"创建磁盘映像",
- "Name that the Image will get. Every image must have a unique name.":"磁盘映像的名称。需要注意的是所有磁盘映像的名称必须是唯一的。",
- "Human readable description of the image for other users.":"供其他用户参考的磁盘映像描述。",
- "OS":"OS",
- "CDROM":"CDROM",
- "DATABLOCK":"DATABLOCK",
- "Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"磁盘映像类型,详细说明见下一段落。若未填写,将使用oned.conf里的设置作为缺省值(预设为OS)。",
- "Select the datastore for this image":"选择此磁盘映像所属的数据仓库。",
- "Persistence of the image":"磁盘映像的持久性",
- "Image location":"磁盘映像位置",
- "Empty datablock":"空白Datablock",
- "Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.":"将被复制到映像仓库的原始文件路径。如果DATABLOCK型磁盘映像未填写此栏目,将创建一个空的磁盘映像。",
- "Size of the datablock in MB.":"块存储大小 (MB)",
- "FS type":"文件系统类型",
- "Type of file system to be built. This can be any value understood by mkfs unix command.":"磁盘映像的文件系统类型,可以是任何mkfs unix命令所接受的参数。",
- "Advanced options":"高级选项",
- "Device prefix":"设备名称前缀",
- "Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"挂载此磁盘映像所使用的设备名称前缀,例如hd或者sd。如果省略此选项,系统将使用在oned.conf中所定义的缺省值(缺省的前缀是hd)。",
- "Driver":"驱动程序",
- "Specific image mapping driver. KVM: raw, qcow2. XEN: tap:aio, file:":"指定磁盘映像的驱动方式。KVM: raw, qcow2, Xen:tap:aio:, file:",
- "Target on which the image will be mounted at. For example: hda, sdb...":"磁盘映像将被挂载的目标设备名称,例如hda, sdb",
- "Make persistent":"设定为持久性",
- "Make non persistent":"设定为非持久性",
- "Clone":"克隆",
- "yes":"是",
- "no":"否",
- "Datablock":"Datablock",
- "Please select a datastore for this image":"请选择一个数据仓库用来存放磁盘映像。",
- "Clone Image":"克隆映像",
- "Several image are selected, please choose prefix to name the new copies":"已选中多个磁盘映像。请选择新拷贝的前缀。",
- "Prefix":"前缀",
- "Infrastructure":"基础设施",
- "Import":"导入",
- "OpenNebula Marketplace":"OpenNebula市场",
- "Publisher":"发布者",
- "Hypervisor":"Hypervisor",
- "Arch":"处理器架构",
- "Format":"格式",
- "Tags":"标志",
- "Marketplace":"应用市场",
- "Appliance information":"应用信息",
- "Appliance":"应用",
- "URL":"URL",
- "link":"链接",
- "Downloads":"下载",
- "Create VM Template":"创建VM模版",
- "Update VM Template":"",
- "Write the Virtual Machine template here":"",
- "Please, choose and modify the template you want to update":"请选择您想要修改的模版",
- "Select a template":"选择一个模版",
- "Permissions":"权限",
- "Admin":"管理",
- "Other":"其他",
- "Template":"模版",
- "Instantiate VM Template":"基于VM模板创建实例",
- "VM Name":"VM名称",
- "Defaults to template name when emtpy":"若未填写此栏目,则缺省使用模版名称。",
- "Deploy # VMs":"部署VM数量",
- "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"你可以使用通配符 %i 。当一次创建多个VM时,%i 会被替换成由0开始的顺序数字。",
- "Instantiate":"创建实例",
- "Template information":"模版信息",
- "NAME":"名称",
- "Name that the VM will get for description purposes.":"",
- "Percentage of CPU divided by 100 required for the Virtual Machine. Half a processor is written 0.5.":"以百分之一为单位表示VM所需要的CPU资源。例如需要半颗CPU资源,可填写0.5。",
- "MB":"MB",
- "GB":"GB",
- "Amount of RAM required for the VM, in Megabytes.":"VM所需要的内存大小,单位为MB。",
- "VCPU":"VCPU",
- "Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"虚拟CPU数目。未填写时将使用Hypervisor的预设值,通常为1颗VCPU",
- "Volatile Disk":"临时性磁盘",
- "Please select an image from the list":"请从列表中选择一个映像",
- "You selected the following image: ":"您选中了如下映像:",
- "TARGET":"目标",
- "Device to map image disk. If set, it will overwrite the default device mapping":"指定磁盘映像在虚拟机中的设备名称。如果设定此栏目,将会覆盖预设的设备名称。",
- "DRIVER":"驱动",
- "Specific image mapping driver. KVM: raw, qcow2. Xen:tap:aio:, file:. VMware unsupported":"指定磁盘映像的驱动方式。KVM: raw, qcow2. Xen:tap:aio:, file:. 不支持VMware。",
- "TYPE":"类型",
- "FS":"FS",
- "Swap":"Swap",
- "FORMAT":"格式",
- "Filesystem type for the fs images":"此fs磁盘映像的文件系统类型",
- "Size of the new disk":"新磁盘的大小",
- "Please select a network from the list":"",
- "You selected the following network:":"",
- "IP":"IP",
- "Request an specific IP from the Network":"从网络中申请一个特定IP",
- "MODEL":"型号",
- "Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"网卡的模式方式。在使用Xen时,此栏目为vif类别属性。",
- "TCP Firewall":"TCP防火墙",
- "PORTS":"端口",
- "A list of ports separated by commas or a ranges separated by semicolons, e.g.: 22,80,5900:6000":"",
- "UDP Firewall":"UDP防火墙",
- "Whitelist":"白名单",
- "Blacklist":"黑名单",
- "ICMP":"",
- "Drop":"",
- "There are mandatory parameters missing in this section":"在此部分有未填写的栏目",
- "Add another disk":"添加另外一个磁盘",
- "DISK":"磁盘",
- "Add another nic":"添加另外一个网卡",
- "NIC":"网卡",
- "Boot":"启动设置",
- "Features":"",
- "CPU architecture to virtualization":"虚拟CPU架构",
- "HD":"硬盘",
- "FD":"软盘",
- "NETWORK":"网络",
- "Boot device type":"启动设备类型",
- "Root":"根目录",
- "Device to be mounted as root":"挂载为根目录的设备名称",
- "Kernel cmd":"Kernel命令",
- "Arguments for the booting kernel":"启动Kernel时的额外参数",
- "Bootloader":"Bootloader",
- "Path to the bootloader executable":"bootloader可执行文件的路径",
- "Registered Image":"注册的映像",
- "Remote PATH":"远程路径",
- "Please select a Kernel from the list":"请从列表中选择一个Kernel",
- "You selected the following Kernel: ":"您选中了如下Kernel:",
- "PATH":"路径",
- "Path to the OS kernel to boot the image":"用来启动的操作系统内核路径",
- "Registered Image ":"已经注册的映像",
- "Please select a Ramdisk from the list":"请从列表中选择一个Ramdisk",
- "You selected the following Ramdisk: ":"您选中了如下Ramdisk:",
- "Path to the initrd image":"initrd映像文件路径",
- "ACPI":"",
- "Yes":"是",
- "No":"否",
- "Add support in the VM for Advanced Configuration and Power Interface (ACPI)":"",
- "PAE":"",
- "Add support in the VM for Physical Address Extension (PAE)":"",
- "Graphics":"图形界面",
- "Listen IP":"监听IP",
- "IP to listen on":"接受VNC连接的IP",
- "Port":"端口",
- "Port for the VNC/SPICE server":"VNC/SPICE 服务的端口",
- "Password for the VNC/SPICE server":"VNC/SPICE 服务的密码",
- "Keymap":"键盘映射",
- "Keyboard configuration locale to use in the VNC/SPICE display":"VNC/SPICE 界面所使用的本地键盘配置",
- "Inputs":"输入设备",
- "Mouse":"Mouse",
- "Tablet":"Tablet",
- "USB":"USB",
- "PS2":"PS2",
- "Add":"添加",
- "BUS":"总线",
- "Network & SSH":"网络和SSH",
- "Custom variables":"自定义参数",
- " Add SSH contextualization":"添加SSH Context",
- "Add an ssh public key to the context. If the Public Key textarea is empty then the user variable SSH_PUBLIC_KEY will be used.":"",
- "Public Key":"Public Key",
- " Add Network contextualization":"添加网络Context",
- "Add network contextualization parameters. For each NIC defined in the NETWORK section, ETH$i_IP, ETH$i_NETWORK... parameters will be included in the CONTEXT section and will be available in the Virtual Machine":"",
- "Please select files from the list":"请从列表中选择一个或者多个文件",
- "You selected the following files:":"您选中了如下文件:",
- "KEY":"KEY",
- "VALUE":"VALUE",
- "Placement":"资源分配",
- "Policy":"规则",
- "Select Hosts ":"选择主机",
- "Select Clusters ":"选择集群",
- "Please select one or more clusters from the list":"请从列表中选择一个或者多个集群:",
- "You selected the following clusters:":"您选中了如下集群:",
- "Requirements":"需求描述",
- "Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"",
- "Packing":"集中",
- "Pack the VMs in the cluster nodes to reduce VM fragmentation":"将集群中的VM集中在尽可能少的节点上,减少VM的分散程度",
- "Stripping":"分散",
- "Spread the VMs in the cluster nodes":"将集群中的VM分散在尽可能多的节点上,增加VM的分散程度",
- "Load-aware":"负载感知",
- "Maximize the resources available to VMs in a node":"最大化节点上可供虚拟机使用的资源",
- "Rank":"顺序",
- "This field sets which attribute will be used to sort the suitable hosts for this VM":"",
- "There are mandatory fields missing in the capacity section":"在容量部分有未填写的栏目。",
- "Virtual Machine name missing!":"",
- "Update template properties":"修改模版属性",
- "Loading":"载入中",
- " does not exists any more":"已经不存在了",
- "The following FILES: ":"如下文件:",
- " do not exist any more":"已经不存在了",
- "The following HOSTs: [":"如下主机:[",
- "The following CLUSTERs: [":"如下集群:[",
- "do not exist any more":"已经不存在了",
- "Clone a template":"克隆一个模版",
- "Clone Template":"克隆模板",
- "Several templates are selected, please choose prefix to name the new copies":"已选中多个模版,请选择新副本名称的前缀。",
- "Auth driver":"认证方式",
- "Core":"Core",
- "x509":"x509",
- "LDAP":"",
- "Public":"Public",
- "Create User":"创建用户",
- "Username":"帐号",
- "Authentication":"认证方式",
- "Change authentication":"修改认证方式",
- "Please choose the new type of authentication for the selected users":"请选择一个新的认证方式。此认证方式将被应用于所有被选中的用户。",
- "This will change the main group of the selected users. Select the new group":"所有被选中的用户的群组都会被修改。请选择新的群组。",
- "Historical usages":"历史信息",
- "User info":"用户信息",
- "Authentication driver":"认证方式",
- "Configuration Attributes":"配置参数",
- "Create user":"创建用户",
- "User name and password must be filled in":"必须填写用户帐号和密码。",
- "Fill in a new auth driver":"",
- "User quotas":"用户配额",
- "Used CPU":"CPU 使用量",
- "Used Memory":"内存使用量",
- "IPs":"IPs",
- "Start Time":"起始时间",
- "VNC":"VNC",
- "Create Virtual Machine":"创建虚拟机",
- "Select template":"选择一个模版",
- "VirtualMachine updated correctly":"成功更新虚拟机",
- "Deploy":"部署",
- "This will deploy the selected VMs on the chosen host":"选中的VM将会被部署到指定的主机。",
- "Migrate":"迁移",
- "This will migrate the selected VMs to the chosen host":"选中的VM将会被迁移到指定的主机。",
- "This will live-migrate the selected VMs to the chosen host":"选中的VM将会被在线迁移到指定的主机。",
- "Hold":"等待",
- "This will hold selected pending VMs from being deployed":"选中的VM将进入等待状态,不会被部署到系统中。",
- "Release":"放行",
- "This will release held machines":"选中的VM将进入放行状态,可以被部署到系统中。",
- "Suspend":"休眠",
- "This will suspend selected machines":"选中的VM将会暂停。",
- "This will resume selected VMs":"",
- "Stop":"停机",
- "This will stop selected VMs":"选中的VM将会停机。",
- "This will force the hypervisor boot action of VMs stuck in UNKNOWN or BOOT state":"",
- "Reboot":"重新启动",
- "This will send a reboot action to running VMs":"选中的VM将会收到重新启动指令。",
- "This will perform a hard reboot on selected VMs":"选中的VM将会重新开始冷启动。",
- "Power Off":"关机",
- "This will send a power off signal to running VMs. They can be resumed later.":"",
- "This will send a forced power off signal to running VMs. They can be resumed later.":"",
- "Undeploy":"",
- "Shuts down the given VM. The VM is saved in the system Datastore.":"",
- "Shutdown":"关机",
- "This will initiate the shutdown process in the selected VMs":"选中的VM将会执行关机程序。",
- "This will initiate the shutdown-hard (forced) process in the selected VMs":"",
- "This will delete the selected VMs from the database":"选中的VM将会从数据库中删除。",
- "This will delete and recreate VMs to PENDING state":"",
- "Reschedule":"",
- "This will reschedule selected VMs":"",
- "Un-Reschedule":"",
- "This will cancel the rescheduling for the selected VMs":"",
- "SUSPENDED":"SUSPENDED",
- "HOLD":"暂停",
- "STOPPED":"停机",
- "POWEROFF":"关机",
- "#":"#",
- "Action":"",
- "Reason":"原因",
- "Chg time":"修改时间",
- "Total time":"总运行时间",
- "Prolog time":"镜像传输时间",
- "LCM State":"LCM状态",
- "Start time":"起始时间",
- "Deploy ID":"部署ID",
- "Capacity":"容量",
- "Snapshots":"快照",
- "Log":"日志",
- "Actions":"操作",
- "Schedule action":"计划操作",
- "ACTION":"操作",
- "TIME":"时间",
- "DONE":"完成",
- "MESSAGE":"信息",
- "shutdown":"关机",
- "hold":"保留",
- "release":"释放",
- "stop":"停机",
- "cancel":"取消",
- "suspend":"休眠",
- "resume":"唤醒",
- "restart":"重启",
- "resubmit":"重新部署",
- "reboot":"重新启动",
- "reset":"重置",
- "poweroff":"关闭电源",
- "snapshot-create":"创建快照",
- "shutdown-hard":"强制关机",
- "boot":"启动",
- "delete":"",
- "delete-recreate":"",
- "reboot-hard":"强制重启",
- "poweroff-hard":"",
- "undeploy":"",
- "undeploy-hard":"",
- "Date Time Picker":"关机",
- "Done":"完成",
- "Attach new disk":"挂载新磁盘",
- "Image / Format-Size":"映像 / 格式-大小",
- "Save as":"另存为",
- "No disks to show":"没有任何磁盘",
- "in progress":"执行中",
- "deferred snapshot in progress":"正在执行被推迟的快照任务",
- "hot snapshot in progress":"正在制作热快照",
- "attach/detach in progress":"正在挂载/卸载",
- "Snapshot":"快照",
- "Detach":"卸载",
- "YES":"是",
- "NO":"否",
- "Virtual Machine ID":"虚拟机ID",
- "Disk ID":"磁盘ID",
- "Image name":"映像名称",
- "Snapshot type":"快照类型",
- "Deferred":"推迟",
- "Hot":"立即",
- "Sets the specified VM disk to be saved in a new Image.":"将指定的虚拟机磁盘保存为一个新的映像。",
- "Deferred: The Image is created immediately, but the contents are saved only if the VM is shut down gracefully (i.e., using Shutdown; not Delete)":"",
- "Hot: The Image will be saved immediately.":"立即:指定的映像会被立即保存。",
- "Take snapshot":"制作快照",
- "Please provide a name for the new image":"请为新的映像提供一个名称",
- "Attach":"挂载",
- "Attach new nic":"挂载新网卡",
- "MAC":"MAC",
- "IPv6 Site":"",
- "IPv6 Global":"",
- "No nics to show":"没有可以显示的网卡",
- "NET RX":"网络接收",
- "NET TX":"网络发送",
- "Resize VM capacity":"修改VM参数",
- "REAL CPU":"实际CPU",
- "REAL MEMORY":"实际内存",
- "Enforce":"强制",
- "If it is set to true, the host capacity will be checked. This will only affect oneadmin requests, regular users resize requests will always be enforced":"如果设置为true,系统会检查主机的容量。这个设置只会影响到来自oneadmin用户的操作请求,来自普通用户的resize请求总是会被强制执行。",
- "Resize":"修改",
- "Timestamp":"时间戳",
- "No snapshots to show":"没有可以显示的快照",
- "Revert":"还原",
- "Snapshot name":"快照名称",
- "You have not selected a template":"为选择任何模版",
- "VNC connection":"VNC 连接",
- "Canvas not supported.":"不支持Canvas",
- "Create Virtual Network":"创建虚拟网络",
- "IPv4":"",
- "IPv6":"",
- "N. Address":"网络地址",
- "N. Mask":"网络掩码",
- "Site prefix":"",
- "Global prefix":"",
- "DNS":"",
- "Gateway":"",
- "Fixed network":"固定式网络",
- "Ranged network":"范围式网络",
- "Remove selected":"移除选中的项目",
- "Define a subnet by IP range":"通过IP范围来定义子网",
- "IP Start":"IP起始地址",
- "IP End":"IP结束地址",
- "MAC Start":"",
- "N. Size":"",
- "Network model":"网络模式",
- "Default":"缺省值",
- "Physical device":"物理网络设备",
- "VLAN":"VLAN",
- "VLAN ID":"VLAN ID",
- "Custom attributes":"自定义属性",
- "Value":"值",
- "Write the Virtual Network template here":"在此输入虚拟网络的模版",
- "Please, choose and modify the virtual network you want to update":"请选择您想要修改的虚拟网络。",
- "Select a network":"选择一个网络",
- "Virtual network information":"虚拟网络信息",
- "Lease management":"租用管理",
- "Network information":"",
- "Network mask":"netmask",
- "IPv6 Global prefix":"",
- "IPv6 Site prefix":"",
- "Leases information":"租用信息",
- "Hold IP":"",
- "Add IP":"",
- "No leases to show":"目前沒有任何租约",
- "VM:":"虚拟机:",
- "Please provide a lease IP or MAC":"",
- "Virtual Network name missing!":"未填写虚拟网络名称!",
- "There are missing network parameters":"未填写网络参数",
- "MAC Start must be specified":"",
- "Virtual Resources":"虚拟资源",
- "Submitted":"已提交",
- "Error":"错误",
- "Info":"信息",
- "Cannot contact server: is it running and reachable?":"无法连接到服务器:请确认服务器运行状态或者网络连接状态?",
- "Network is unreachable: is OpenNebula running?":"网络连接失败:请确认OpenNebula是否仍在运行?",
- "Unauthorized":"未经授权",
- "Please select":"请选择",
- "Update template":"修改模版",
- "Please select an element":"请选择一个元素",
- "Ownership":"所有者",
- "Previous action":"以往操作",
- "Confirmation of action":"操作确认",
- "Confirm":"确认",
- "You have to confirm this action.":"请确认这个操作",
- "Do you want to proceed?":"您是否确定要继续执行?",
- "OK":"确定",
- "Cancel":"取消",
- "You need to select something.":"您需要至少选择一个项目",
- "You have to confirm this action":"您需要对此操作进行确认"
-}
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/AuthManagerDriver.h
^
|
@@ -50,8 +50,7 @@
* Implements the VM Manager driver protocol.
* @param message the string read from the driver
*/
- void protocol(
- string& message);
+ void protocol(const string& message) const;
/**
* Re-starts the driver
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/HookManagerDriver.h
^
|
@@ -29,7 +29,7 @@
/**
* HookManagerDriver provides a base class to implement Hook (Execution)
* Drivers. This class implements the protocol and recover functions
- * from the Mad interface. This class may be used to further specialize
+ * from the Mad interface. This class may be used to further specialize
* the Execution driver.
*/
class HookManagerDriver : public Mad
@@ -49,14 +49,13 @@
* Implements the Hook driver protocol.
* @param message the string read from the driver
*/
- void protocol(
- string& message);
+ void protocol(const string& message) const;
/**
* TODO: What do we need here? just poll the Hosts to recover..
*/
void recover();
-
+
/**<id> <hook_name> <LOCAL|host> <script> <args|->
* Sends an execution request to the MAD: "EXECUTE id name local cmd args"
* @param oid the virtual machine id.
@@ -88,7 +87,7 @@
private:
friend class HookManager;
-
+
VirtualMachinePool * vmpool;
};
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/ImageManagerDriver.h
^
|
@@ -30,16 +30,16 @@
class ImageManager;
/**
- * ImageManagerDriver represents the basic abstraction for Image Repository
- * drivers. It implements the protocol and recover functions from the Mad
+ * ImageManagerDriver represents the basic abstraction for Image Repository
+ * drivers. It implements the protocol and recover functions from the Mad
* interface.
*/
class ImageManagerDriver : public Mad
{
public:
- ImageManagerDriver(int userid,
- const map<string,string>& attrs,
+ ImageManagerDriver(int userid,
+ const map<string,string>& attrs,
bool sudo,
ImagePool* _ipool):
Mad(userid,attrs,sudo),ipool(_ipool){};
@@ -50,7 +50,7 @@
* Implements the Image Manager driver protocol.
* @param message the string read from the driver
*/
- void protocol(string& message);
+ void protocol(const string& message) const;
/**
* TODO: What do we need here? Check on-going xfr?
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/InformationManagerDriver.h
^
|
@@ -50,7 +50,7 @@
* Implements the IM driver protocol.
* @param message the string read from the driver
*/
- void protocol(string& message);
+ void protocol(const string& message) const;
/**
* TODO: What do we need here? just poll the Hosts to recover..
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/LifeCycleManager.h
^
|
@@ -121,6 +121,13 @@
return lcm_thread;
};
+ /**
+ * Recovers a VM by self-triggering the associated lost transition.
+ * @param vm to be recovered
+ * @param success trigger successful transition if true, fail otherwise
+ */
+ void recover(VirtualMachine * vm, bool success);
+
private:
/**
* Thread id for the Virtual Machine Manager
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/Mad.h
^
|
@@ -32,17 +32,17 @@
/**
* Base class to build specific middleware access drivers (MAD).
- * This class provides generic MAD functionality.
+ * This class provides generic MAD functionality.
*/
class Mad
{
protected:
/**
- * The constructor initialize the class members but DOES NOT start the
+ * The constructor initialize the class members but DOES NOT start the
* driver. A subsequent call to the start() method is needed.
* @param userid user running this MAD
* @param attrs configuration attributes for the driver
- * @param sudo the driver is started through sudo if true
+ * @param sudo the driver is started through sudo if true
*/
Mad(
int userid,
@@ -53,13 +53,13 @@
sudo_execution(sudo),
pid(-1)
{};
-
+
/**
* The destructor of the class finalizes the driver process, and all its
* associated resources (i.e. pipes)
*/
virtual ~Mad();
-
+
/**
* Send a command to the driver
* @param os an output string stream with the message, it must be
@@ -70,7 +70,7 @@
{
string str;
const char * cstr;
-
+
str = os.str();
cstr = str.c_str();
@@ -95,7 +95,7 @@
* @param first character of the type string
* @return the message type
*/
- Log::MessageType log_type(const char r)
+ Log::MessageType log_type(const char r) const
{
Log::MessageType lt;
@@ -121,17 +121,17 @@
friend class MadManager;
/**
- * Communication pipe file descriptor. Represents the MAD to nebula
+ * Communication pipe file descriptor. Represents the MAD to nebula
* communication stream (nebula<-mad)
*/
int mad_nebula_pipe;
/**
- * Communication pipe file descriptor. Represents the nebula to MAD
+ * Communication pipe file descriptor. Represents the nebula to MAD
* communication stream (nebula->mad)
*/
int nebula_mad_pipe;
-
+
/**
* User running this MAD as defined in the upool DB
*/
@@ -144,7 +144,7 @@
map<string,string> attributes;
/**
- * True if the mad is to be executed through sudo, with the identity of the
+ * True if the mad is to be executed through sudo, with the identity of the
* Mad owner (uid).
*/
bool sudo_execution;
@@ -153,16 +153,16 @@
* Process ID of the running MAD.
*/
pid_t pid;
-
+
/**
- * Starts the MAD. This function creates a new process, sets up the
+ * Starts the MAD. This function creates a new process, sets up the
* communication pipes and sends the initialization command to the driver.
* @return 0 on success
*/
int start();
/**
- * Reloads the driver: sends the finalize command, "waits" for the
+ * Reloads the driver: sends the finalize command, "waits" for the
* driver process and closes the communication pipes. Then the driver is
* started again by calling the start() function
* @return 0 on success
@@ -174,14 +174,13 @@
* actions on the associated manager.
* @param message the string read from the driver
*/
- virtual void protocol(
- string& message) = 0;
+ virtual void protocol(const string& message) const = 0;
/**
* This function is called whenever the driver crashes. This function
* should perform the actions needed to recover the VMs.
*/
- virtual void recover() = 0;
+ virtual void recover() = 0;
};
#endif /*MAD_H_*/
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/Nebula.h
^
|
@@ -340,12 +340,12 @@
*/
static string version()
{
- return "OpenNebula 4.0.0";
+ return "OpenNebula 4.0.1";
};
static string db_version()
{
- return "4.0.0";
+ return "4.0.1";
}
/**
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/RequestManagerVirtualMachine.h
^
|
@@ -316,6 +316,26 @@
RequestAttributes& att);
};
+/* ------------------------------------------------------------------------- */
+/* ------------------------------------------------------------------------- */
+
+class VirtualMachineRecover: public RequestManagerVirtualMachine
+{
+public:
+ VirtualMachineRecover():
+ RequestManagerVirtualMachine("VirtualMachineRecover",
+ "Recovers a virtual machine",
+ "A:sib")
+ {
+ auth_op = AuthRequest::ADMIN;
+ };
+
+ ~VirtualMachineRecover(){};
+
+ void request_execute(xmlrpc_c::paramList const& _paramList,
+ RequestAttributes& att);
+};
+
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/TransferManagerDriver.h
^
|
@@ -48,8 +48,7 @@
* Implements the VM Manager driver protocol.
* @param message the string read from the driver
*/
- void protocol(
- string& message);
+ void protocol(const string& message) const;
/**
* TODO: What do we need here? Check on-going xfr?
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/VirtualMachineManagerDriver.h
^
|
@@ -49,8 +49,7 @@
* Implements the VM Manager driver protocol.
* @param message the string read from the driver
*/
- void protocol(
- string& message);
+ void protocol(const string& message) const;
/**
* TODO: What do we need here? just poll the active VMs to recover
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/include/VirtualNetwork.h
^
|
@@ -178,6 +178,15 @@
string& to_xml(string& xml) const;
/**
+ * Function to print the object into a string in XML format
+ * base64 encoded
+ * @param xml64 the resulting XML string
+ * @param extended return the extended template or the simple one
+ * @return a reference to the generated string
+ */
+ string& to_xml64(string &xml64, bool extended);
+
+ /**
* Function to print the VirtualNetwork object into a string in
* XML format. The extended XML includes the LEASES
* @param xml the resulting XML string
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/install.sh
^
|
@@ -1042,6 +1042,7 @@
src/onedb/3.8.4_to_3.9.80.rb \
src/onedb/3.9.80_to_3.9.90.rb \
src/onedb/3.9.90_to_4.0.0.rb \
+ src/onedb/4.0.0_to_4.0.1.rb \
src/onedb/fsck.rb \
src/onedb/onedb.rb \
src/onedb/onedb_backend.rb"
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-allocate-address.1
^
|
@@ -39,7 +39,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-associate-address.1
^
|
@@ -42,7 +42,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-attach-volume.1
^
|
@@ -45,7 +45,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-create-keypair.1
^
|
@@ -42,7 +42,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-create-volume.1
^
|
@@ -40,7 +40,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-delete-keypair.1
^
|
@@ -42,7 +42,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-delete-volume.1
^
|
@@ -42,7 +42,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-describe-addresses.1
^
|
@@ -39,7 +39,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-describe-images.1
^
|
@@ -36,7 +36,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-describe-instances.1
^
|
@@ -39,7 +39,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-describe-keypairs.1
^
|
@@ -39,7 +39,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-describe-volumes.1
^
|
@@ -39,7 +39,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-detach-volume.1
^
|
@@ -45,7 +45,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-disassociate-address.1
^
|
@@ -42,7 +42,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-reboot-instances.1
^
|
@@ -45,7 +45,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-register.1
^
|
@@ -42,7 +42,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-release-address.1
^
|
@@ -42,7 +42,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-run-instances.1
^
|
@@ -53,7 +53,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-start-instances.1
^
|
@@ -45,7 +45,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-stop-instances.1
^
|
@@ -45,7 +45,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-terminate-instances.1
^
|
@@ -45,7 +45,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/econe-upload.1
^
|
@@ -43,7 +43,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/occi-compute.1
^
|
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
-.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.0" "User Commands"
+.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.1" "User Commands"
.SH NAME
OpenNebula \- OCCI Manage Compute
.SH SYNOPSIS
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/occi-instance-type.1
^
|
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
-.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.0" "User Commands"
+.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.1" "User Commands"
.SH NAME
OpenNebula \- OCCI Manage Instance
.SH SYNOPSIS
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/occi-network.1
^
|
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
-.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.0" "User Commands"
+.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.1" "User Commands"
.SH NAME
OpenNebula \- OCCI Manage Network
.SH SYNOPSIS
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/occi-storage.1
^
|
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
-.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.0" "User Commands"
+.TH OPENNEBULA "1" "May 2013" "OpenNebula 4.0.1" "User Commands"
.SH NAME
OpenNebula \- OCCI Manage Storage
.SH SYNOPSIS
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/oneacct.1
^
|
@@ -46,7 +46,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/oneacl.1
^
|
@@ -54,7 +54,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onecluster.1
^
|
@@ -95,7 +95,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onedatastore.1
^
|
@@ -87,7 +87,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onegroup.1
^
|
@@ -74,7 +74,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onehost.1
^
|
@@ -87,7 +87,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/oneimage.1
^
|
@@ -160,7 +160,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onetemplate.1
^
|
@@ -151,7 +151,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/oneuser.1
^
|
@@ -140,7 +140,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onevdc.1
^
|
@@ -63,7 +63,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onevm.1
^
|
@@ -483,7 +483,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onevnet.1
^
|
@@ -103,7 +103,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/man/onezone.1
^
|
@@ -53,7 +53,7 @@
.IP "" 0
.
.SH "LICENSE"
-OpenNebula 4\.0\.0 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
+OpenNebula 4\.0\.1 Copyright 2002\-2013, OpenNebula Project (OpenNebula\.org), C12G Labs
.
.P
Licensed under the Apache License, Version 2\.0 (the "License"); you may not use this file except in compliance with the License\. You may obtain a copy of the License at http://www\.apache\.org/licenses/LICENSE\-2\.0
|
[-]
[+]
|
Added |
opennebula-4.0.1.tar.bz2/share/router/vmcontext
^
|
@@ -0,0 +1,6 @@
+#!/sbin/runscript
+
+start() {
+ /etc/init.d/vmcontext.rb
+ return 0
+}
|
[-]
[+]
|
Added |
opennebula-4.0.1.tar.bz2/share/router/vmcontext.rb
^
|
@@ -0,0 +1,616 @@
+#!/usr/bin/env ruby
+
+# -------------------------------------------------------------------------- #
+# Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); you may #
+# not use this file except in compliance with the License. You may obtain #
+# a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+#--------------------------------------------------------------------------- #
+
+require 'rexml/document'
+require 'base64'
+require 'fileutils'
+require 'erb'
+
+class Router
+ # Default files
+
+ FILES = {
+ :resolv_conf => "/etc/resolv.conf",
+ :context => "/mnt/context/context.sh",
+ :dnsmasq_conf => "/etc/dnsmasq.conf",
+ :radvd_conf => "/etc/radvd.conf",
+ :log_file => "/var/log/router.log"
+ }
+
+ # Default MAC prefix
+ MAC_PREFIX = "02:00"
+
+ # Default gateway (last byte)
+ DEFAULT_GW = "1"
+
+ # Default netmask
+ DEFAULT_NETMASK = "255.255.255.0"
+
+ # Context parameters that are base64 encoded
+ BASE_64_KEYS = [:privnet, :pubnet, :template, :root_password]
+
+ # Context parameters that are XML documents
+ XML_KEYS = [:privnet, :pubnet, :template]
+
+ # The specification on how to fetch these attributes.
+ # The order in the array matters, the first non-empty one is returned.
+ ATTRIBUTES = {
+ :dns => [
+ {
+ :resource => :context
+ },
+ {
+ :resource => :pubnet,
+ :resource_xpath => 'TEMPLATE/DNS'
+ }
+ ],
+ :search => [
+ {
+ :resource => :context
+ },
+ {
+ :resource => :pubnet,
+ :resource_xpath => 'TEMPLATE/SEARCH'
+ }
+ ],
+ :nat => [
+ {
+ :resource => :context,
+ :resource_name => :forwarding
+ },
+ {
+ :resource => :privnet,
+ :resource_xpath => 'TEMPLATE/FORWARDING'
+ }
+ ],
+ :dhcp => [
+ {
+ :resource => :context
+ },
+ {
+ :resource => :privnet,
+ :resource_xpath => 'TEMPLATE/DHCP'
+ }
+ ],
+ :radvd => [
+ {
+ :resource => :context
+ },
+ {
+ :resource => :privnet,
+ :resource_xpath => 'TEMPLATE/RADVD'
+ }
+ ],
+ :ntp_server => [
+ {
+ :resource => :context
+ },
+ {
+ :resource => :privnet,
+ :resource_xpath => 'TEMPLATE/NTP_SERVER'
+ }
+ ],
+ :ssh_public_key => [
+ {
+ :resource => :context
+ }
+ ],
+ :root_pubkey => [
+ {
+ :resource => :context
+ }
+ ],
+ :root_password => [
+ {
+ :resource => :context
+ }
+ ]
+ }
+
+ def initialize
+ mount_context
+ @context = read_context
+ unpack if @context
+ get_network_information
+ end
+
+ ############################################################################
+ # GETTERS
+ ############################################################################
+
+ def pubnet
+ !@pubnet[:network_id].nil?
+ end
+
+ def privnet
+ !@privnet[:network_id].nil?
+ end
+
+ def dns
+ dns_raw = get_attribute(:dns)
+ dns_raw.split if !dns_raw.nil?
+ end
+
+ def search
+ get_attribute(:search)
+ end
+
+ def root_password
+ get_attribute(:root_password)
+ end
+
+ def root_pubkey
+ get_attribute(:root_pubkey) || get_attribute(:ssh_public_key)
+ end
+
+ def nat
+ nat_raw = get_attribute(:nat)
+ nat_raw.split if !nat_raw.nil?
+ end
+
+ def dhcp
+ dhcp_raw = get_attribute(:dhcp) || ""
+ if dhcp_raw.downcase.match(/^y(es)?$/)
+ true
+ else
+ false
+ end
+ end
+
+ def ntp_server
+ get_attribute(:ntp_server)
+ end
+
+ def radvd
+ radvd_raw = get_attribute(:radvd) || ""
+ radvd = !!radvd_raw.downcase.match(/^y(es)?$/)
+ radvd and @privnet[:ipv6]
+ end
+
+ ############################################################################
+ # ACTIONS
+ ############################################################################
+
+ def mount_context
+ log("mounting context")
+ FileUtils.mkdir_p("/mnt/context")
+ run "mount -t iso9660 /dev/cdrom /mnt/context 2>/dev/null"
+ end
+
+ def write_resolv_conf
+ if dns
+ File.open(FILES[:resolv_conf], 'w') do |resolv_conf|
+ if search
+ resolv_conf.puts "search #{search}"
+ end
+
+ dns.each do |nameserver|
+ resolv_conf.puts "nameserver #{nameserver}"
+ end
+ end
+ elsif search
+ File.open(FILE[:resolv_conf], 'a') do |resolv_conf|
+ resolv_conf.puts "search #{search}"
+ end
+ end
+ end
+
+ def configure_network
+ if has_context?
+ log("has context")
+ configure_network_context
+ else
+ log("no context")
+ configure_network_static
+ end
+ end
+
+ def configure_network_static
+ macs = @mac_interfaces.invert
+
+ defaultgw = true
+ macs.keys.sort.each do |nic|
+ next if nic !~ /^eth/
+
+ mac = macs[nic]
+ ip = mac2ip(mac)
+ gateway = ip.gsub(/\.\d{1,3}$/,".#{DEFAULT_GW}")
+
+ run "ip link set #{nic} up"
+ run "ip addr add #{ip}/24 dev #{nic}"
+
+ if defaultgw
+ defaultgw = false
+ run "ip route add default via #{gateway}"
+ end
+ end
+ end
+
+ def configure_network_context
+ if pubnet
+ ip = @pubnet[:ip]
+ ip6_global = @pubnet[:ip6_global]
+ ip6_site = @pubnet[:ip6_site]
+ nic = @pubnet[:interface]
+ netmask = @pubnet[:netmask]
+ gateway = @pubnet[:gateway]
+
+ run "ip link set #{nic} up"
+
+ run "ip addr add #{ip}/#{netmask} dev #{nic}"
+ run "ip addr add #{ip6_global} dev #{nic}" if ip6_global
+ run "ip addr add #{ip6_site} dev #{nic}" if ip6_site
+
+ run "ip route add default via #{gateway}"
+ end
+
+ if privnet
+ ip = @privnet[:ip]
+ ip6_global = @privnet[:ip6_global]
+ ip6_site = @privnet[:ip6_site]
+ nic = @privnet[:interface]
+ netmask = @privnet[:netmask]
+
+ run "ip link set #{nic} up"
+ run "ip addr add #{ip}/#{netmask} dev #{nic}"
+ run "ip addr add #{ip6_global} dev #{nic}" if ip6_global
+ run "ip addr add #{ip6_site} dev #{nic}" if ip6_site
+ end
+ end
+
+ def configure_dnsmasq
+ File.open(FILES[:dnsmasq_conf],'w') do |conf|
+ _,ip_start,_ = dhcp_ip_mac_pairs[0]
+ _,ip_end,_ = dhcp_ip_mac_pairs[-1]
+
+ conf.puts "dhcp-range=#{ip_start},#{ip_end},infinite"
+ conf.puts "dhcp-option=42,#{ntp_server} # ntp server" if ntp_server
+ conf.puts "dhcp-option=4,#{@privnet[:ip]} # name server"
+
+ dhcp_ip_mac_pairs.each do |pair|
+ mac, ip = pair
+ conf.puts "dhcp-host=#{mac},#{ip}"
+ end
+ end
+ end
+
+ def configure_nat
+ nat.each do |nat_rule|
+ nat_rule = nat_rule.split(":")
+ if nat_rule.length == 2
+ ip, inport = nat_rule
+ outport = inport
+ elsif nat_rule.length == 3
+ outport, ip, inport = nat_rule
+ end
+
+ run "iptables -t nat -A PREROUTING -p tcp --dport #{outport} " \
+ "-j DNAT --to-destination #{ip}:#{inport}"
+ end
+ end
+
+ def configure_radvd
+ prefixes = [@privnet[:ip6_global],@privnet[:ip6_site]].compact
+ privnet_iface = @privnet[:interface]
+
+ radvd_conf_tpl =<<-EOF.gsub(/^\s{12}/,"")
+ interface <%= privnet_iface %>
+ {
+ AdvSendAdvert on;
+ <% prefixes.each do |p| %>
+ prefix <%= p %>/64
+ {
+ AdvOnLink on;
+ };
+ <% end %>
+ };
+ EOF
+
+ radvd_conf = ERB.new(radvd_conf_tpl).result(binding)
+ File.open(FILES[:radvd_conf],'w') {|c| c.puts radvd_conf }
+ end
+
+ def configure_masquerade
+ run "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE"
+ end
+
+ def configure_ip_forward
+ run "sysctl -w net.ipv4.ip_forward=1"
+ end
+
+ def configure_root_password
+ run "echo -n 'root:#{root_password}'|chpasswd -e"
+ end
+
+ def configure_root_pubkey
+ FileUtils.mkdir_p("/root/.ssh",:mode => 0700)
+ File.open("/root/.ssh/authorized_keys", "a", 0600) do |f|
+ f.write(root_pubkey)
+ end
+ end
+
+ def service(service, action = :start)
+ action = action.to_s
+ run "/etc/init.d/#{service} #{action}"
+ end
+
+ def log(msg, command = false)
+ msg = "=> #{msg}" unless command
+ File.open(FILES[:log_file],'a') {|f| f.puts msg}
+ end
+
+ ############################################################################
+ # Private methods
+ ############################################################################
+
+private
+
+ def has_context?
+ !@context.nil?
+ end
+
+ def get_network_information
+ @pubnet = Hash.new
+ @privnet = Hash.new
+
+ @mac_interfaces = Hash[
+ Dir["/sys/class/net/*/address"].collect do |f|
+ [ File.read(f).strip, f.split('/')[4] ]
+ end
+ ]
+
+ return if !has_context?
+
+ if (pubnet_id = get_element_xpath(:pubnet, 'ID'))
+ @pubnet[:network_id] = pubnet_id
+
+ xpath_ip = "TEMPLATE/NIC[NETWORK_ID='#{pubnet_id}']/IP"
+ xpath_ip6_global = "TEMPLATE/NIC[NETWORK_ID='#{pubnet_id}']/IP6_GLOBAL"
+ xpath_ip6_site = "TEMPLATE/NIC[NETWORK_ID='#{pubnet_id}']/IP6_SITE"
+ xpath_mac = "TEMPLATE/NIC[NETWORK_ID='#{pubnet_id}']/MAC"
+
+ @pubnet[:ip] = get_element_xpath(:template, xpath_ip)
+ @pubnet[:ip6_global] = get_element_xpath(:template, xpath_ip6_global)
+ @pubnet[:ip6_site] = get_element_xpath(:template, xpath_ip6_site)
+ @pubnet[:mac] = get_element_xpath(:template, xpath_mac)
+
+ @pubnet[:ipv6] = true if @pubnet[:ip6_global] or @pubnet[:ip6_site]
+
+ @pubnet[:interface] = @mac_interfaces[@pubnet[:mac]]
+
+ netmask = get_element_xpath(:pubnet, 'TEMPLATE/NETWORK_MASK')
+ @pubnet[:netmask] = netmask || DEFAULT_NETMASK
+
+ gateway = get_element_xpath(:pubnet, 'TEMPLATE/GATEWAY')
+ if gateway.nil?
+ gateway = @pubnet[:ip].gsub(/\.\d{1,3}$/,".#{DEFAULT_GW}")
+ end
+ @pubnet[:gateway] = gateway
+ end
+
+ if (privnet_id = get_element_xpath(:privnet, 'ID'))
+ @privnet[:network_id] = privnet_id
+
+ xpath_ip = "TEMPLATE/NIC[NETWORK_ID='#{privnet_id}']/IP"
+ xpath_ip6_global = "TEMPLATE/NIC[NETWORK_ID='#{privnet_id}']/IP6_GLOBAL"
+ xpath_ip6_site = "TEMPLATE/NIC[NETWORK_ID='#{privnet_id}']/IP6_SITE"
+ xpath_mac = "TEMPLATE/NIC[NETWORK_ID='#{privnet_id}']/MAC"
+
+ @privnet[:ip] = get_element_xpath(:template, xpath_ip)
+ @privnet[:ip6_global] = get_element_xpath(:template, xpath_ip6_global)
+ @privnet[:ip6_site] = get_element_xpath(:template, xpath_ip6_site)
+ @privnet[:mac] = get_element_xpath(:template, xpath_mac)
+
+ @privnet[:ipv6] = true if @privnet[:ip6_global] or @privnet[:ip6_site]
+
+ @privnet[:interface] = @mac_interfaces[@privnet[:mac]]
+
+ netmask = get_element_xpath(:privnet, 'TEMPLATE/NETWORK_MASK')
+ @privnet[:netmask] = netmask || DEFAULT_NETMASK
+ end
+ end
+
+ def run(cmd)
+ log(cmd, true)
+ output = `#{cmd} 2>&1`
+ exitstatus = $?.exitstatus
+ log(output) if !output.empty?
+ log("Error: exit code #{exitstatus}") if exitstatus != 0
+ end
+
+ def dhcp_ip_mac_pairs
+ netxml = @xml[:privnet]
+
+ pairs = Array.new
+
+ if netxml.elements['RANGE']
+ ip_start = netxml.elements['RANGE/IP_START'].text
+ ip_end = netxml.elements['RANGE/IP_END'].text
+
+ (ip_to_int(ip_start)..ip_to_int(ip_end)).each do |int_ip|
+ ip = int_to_ip(int_ip)
+ mac = ip2mac(ip)
+
+ used_node = netxml.elements["LEASES/LEASE[IP='#{ip}']/USED"]
+ used = (used_node.text.to_i == 1 if used_node) || false
+ next if used
+
+ pairs << [mac, ip, int_ip]
+ end
+ elsif netxml.elements['LEASES/LEASE']
+ netxml.elements.each('LEASES/LEASE') do |lease|
+ used = lease.elements['USED'].text.to_i == 1
+ next if used
+
+ ip = lease.elements['IP'].text
+ mac = lease.elements['MAC'].text
+
+ int_ip = ip_to_int(ip)
+
+ pairs << [mac, ip, int_ip]
+ end
+ end
+
+ pairs.sort{|a,b| a[2] <=> b[2]}
+ end
+
+ def ip_to_int(ip)
+ num = 0
+ ip.split(".").each{|i| num *= 256; num = num + i.to_i}
+ num
+ end
+
+ def int_to_ip(num)
+ ip = Array.new
+
+ (0..3).reverse_each do |i|
+ ip << (((num>>(8*i)) & 0xff))
+ end
+ ip.join('.')
+ end
+
+ def ip2mac(ip)
+ mac = MAC_PREFIX + ':' \
+ + ip.split('.').collect{|i| sprintf("%02X",i)}.join(':')
+
+ mac.downcase
+ end
+
+ def mac2ip(mac)
+ mac.split(':')[2..-1].collect{|i| i.to_i(16)}.join('.')
+ end
+
+ def unpack
+ @xml = Hash.new
+
+ BASE_64_KEYS.each do |key|
+ if @context.include? key
+ @context[key] = Base64::decode64(@context[key])
+ end
+ end
+
+ XML_KEYS.each do |key|
+ if @context.include? key
+ @xml[key] = REXML::Document.new(@context[key]).root
+ end
+ end
+ end
+
+ def get_attribute(name)
+ order = ATTRIBUTES[name]
+
+ return nil if order.nil?
+ return nil if !has_context?
+
+ order.each do |e|
+ if e[:resource] != :context
+ resource = e[:resource]
+ xpath = e[:resource_xpath]
+
+ value = get_element_xpath(resource, xpath)
+
+ return value if !value.nil?
+ else
+ if e[:resource_name]
+ resource_name = e[:resource_name]
+ else
+ resource_name = name
+ end
+
+ element = @context[resource_name]
+ return element if !element.nil?
+ end
+ end
+
+ return nil
+ end
+
+ def get_element_xpath(resource, xpath)
+ xml_resource = @xml[resource]
+ return nil if xml_resource.nil?
+
+ element = xml_resource.elements[xpath]
+ return element.text.to_s if !element.nil?
+ end
+
+ def read_context
+ return nil if !File.exists?(FILES[:context])
+
+ context = Hash.new
+ context_file = File.read(FILES[:context])
+
+ context_file.each_line do |line|
+ next if line.match(/^#/)
+
+ if (m = line.match(/^(.*?)="(.*)"$/))
+ key = m[1].downcase.to_sym
+ value = m[2]
+ context[key] = value
+ end
+ end
+ context
+ end
+end
+
+router = Router.new
+
+router.log("configure network")
+router.configure_network
+
+if router.pubnet
+ if router.dns || router.search
+ router.log("write resolv.conf")
+ router.write_resolv_conf
+ end
+
+ # Set masquerade
+ router.log("set masquerade")
+ router.configure_masquerade
+
+ # Set ipv4 forward
+ router.log("ip forward")
+ router.configure_ip_forward
+
+ # Set NAT rules
+ if router.nat
+ router.log("configure nat")
+ router.configure_nat
+ end
+end
+
+if router.privnet and router.dhcp
+ router.log("configure dnsmasq")
+ router.configure_dnsmasq
+ router.service("dnsmasq")
+end
+
+if router.radvd
+ router.log("configure radvd")
+ router.configure_radvd
+ router.service("radvd")
+end
+
+if router.root_password
+ router.log("configure root password")
+ router.configure_root_password
+end
+
+if router.root_pubkey
+ router.log("configure root pubkey")
+ router.configure_root_pubkey
+end
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/rubygems/generate
^
|
@@ -21,7 +21,7 @@
DEFAULTS={
- :version => "4.0.0",
+ :version => "4.0.1",
:date => Time.now.strftime("%Y-%m-%d"),
:dependencies => []
}
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/share/scripts/context-packages/generate.sh
^
|
@@ -16,7 +16,7 @@
# limitations under the License. #
#--------------------------------------------------------------------------- #
-VERSION=${VERSION:-4.0.0}
+VERSION=${VERSION:-4.0.1}
MAINTAINER=${MAINTAINER:-C12G Labs <support@c12g.com>}
LICENSE=${LICENSE:-Apache 2.0}
PACKAGE_NAME=${PACKAGE_NAME:-one-context}
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/authm/AuthManagerDriver.cc
^
|
@@ -25,9 +25,9 @@
/* Driver ASCII Protocol Implementation */
/* ************************************************************************** */
-void AuthManagerDriver::authorize(int oid,
- int uid,
- const string& reqs,
+void AuthManagerDriver::authorize(int oid,
+ int uid,
+ const string& reqs,
bool acl) const
{
ostringstream os;
@@ -60,8 +60,7 @@
/* MAD Interface */
/* ************************************************************************** */
-void AuthManagerDriver::protocol(
- string& message)
+void AuthManagerDriver::protocol(const string& message) const
{
istringstream is(message);
ostringstream os;
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/cli/onevm
^
|
@@ -79,6 +79,18 @@
:description => "Enforce that the host capacity is not exceeded"
}
+ SUCCESS={
+ :name => "success",
+ :large => "--success",
+ :description => "Recover a VM by succeeding the pending action"
+ }
+
+ FAILURE={
+ :name => "failure",
+ :large => "--failure",
+ :description => "Recover a VM by failing the pending action"
+ }
+
########################################################################
# Global Options
########################################################################
@@ -501,6 +513,37 @@
end
end
+ recover_desc = <<-EOT.unindent
+ Recovers a stuck VM that is waiting for a driver operation. The recovery
+ may be done by failing or succeeding the pending operation. YOU NEED
+ TO MANUALLY CHECK THE VM STATUS ON THE HOST, to decide if the operation
+ was successful or not.
+
+ Example: A VM is stuck in "migrate" because of a hardware failure. You
+ need to check if the VM is running in the new host or not to recover
+ the vm with --success or --failure, respectively.
+
+ States: Any ACTIVE state.
+ EOT
+
+ command :recover, recover_desc, [:range,:vmid_list],
+ :options => [SUCCESS, FAILURE] do
+ if !options[:success].nil?
+ result = true
+ elsif !options[:failure].nil?
+ result = false
+ else
+ STDERR.puts "Need to specify the result of the pending action."
+ STDERR.puts "\t--success recover the VM by succeeding the missing action."
+ STDERR.puts "\t--failure recover the VM by failing the missing action."
+ exit -1
+ end
+
+ helper.perform_actions(args[0], options, "recovering") do |vm|
+ vm.recover(result)
+ end
+ end
+
disk_attach_desc = <<-EOT.unindent
Attaches a disk to a running VM
@@ -783,5 +826,5 @@
deprecated_command(:cancel, 'shutdown --hard')
deprecated_command(:reset, 'reboot --hard')
deprecated_command(:restart, 'boot')
- deprecated_command(:resubmit, 'destroy --recreate')
+ deprecated_command(:resubmit, 'delete --recreate')
end
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/cloud/common/CloudClient.rb
^
|
@@ -50,7 +50,7 @@
module CloudClient
# OpenNebula version
- VERSION = '4.0.0'
+ VERSION = '4.0.1'
# #########################################################################
# Default location for the authentication file
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/hm/HookManagerDriver.cc
^
|
@@ -29,9 +29,9 @@
const string& arguments ) const
{
ostringstream oss;
-
+
oss << "EXECUTE " << oid << " " << hook_name << " LOCAL " << command << " ";
-
+
if ( arguments.empty() )
{
oss << "-" << endl;
@@ -55,10 +55,10 @@
const string& arguments ) const
{
ostringstream oss;
-
- oss << "EXECUTE " << oid << " " << hook_name << " " << host_name << " "
+
+ oss << "EXECUTE " << oid << " " << hook_name << " " << host_name << " "
<< command << " ";
-
+
if ( arguments.empty() )
{
oss << "-" << endl;
@@ -74,10 +74,9 @@
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
-void HookManagerDriver::protocol(
- string& message)
-{
- istringstream is(message);
+void HookManagerDriver::protocol(const string& message) const
+{
+ istringstream is(message);
//stores the action name
string action;
//stores the action result
@@ -88,7 +87,7 @@
ostringstream os;
string hinfo;
VirtualMachine * vm;
-
+
// Parse the driver message
os << "Message received: " << message;
@@ -109,7 +108,7 @@
is >> result >> ws;
}
else
- {
+ {
return;
}
@@ -135,49 +134,49 @@
{
return;
}
-
+
vm = vmpool->get(id,true);
-
+
if ( vm == 0 )
{
return;
}
-
+
// -------------------------------------------------------------------------
// Protocol implementation
// -------------------------------------------------------------------------
-
+
if ( action == "EXECUTE" )
{
ostringstream oss;
-
+
string hook_name;
string info;
-
+
if ( is.good() )
{
getline(is,hook_name);
}
-
+
getline (is,info);
-
+
if (result == "SUCCESS")
- {
+ {
oss << "Success executing Hook: " << hook_name << ". " << info;
vm->log("HKM",Log::INFO,oss);
}
else
{
oss << "Error executing Hook: " << hook_name << ". " << info;
-
+
if ( !info.empty() && info[0] != '-' )
- {
+ {
vm->set_template_error_message(oss.str());
vmpool->update(vm);
}
vm->log("HKM",Log::ERROR,oss);
- }
+ }
}
else if (action == "LOG")
{
@@ -186,9 +185,9 @@
getline(is,info);
vm->log("HKM",log_type(result[0]),info.c_str());
}
-
+
vm->unlock();
-
+
return;
}
@@ -198,5 +197,5 @@
void HookManagerDriver::recover()
{
NebulaLog::log("HKM", Log::ERROR, "Hook driver crashed, recovering...");
-
+
}
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/im/InformationManagerDriver.cc
^
|
@@ -40,8 +40,7 @@
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
-void InformationManagerDriver::protocol(
- string& message)
+void InformationManagerDriver::protocol(const string& message) const
{
istringstream is(message);
//stores the action name
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/image/ImageManagerDriver.cc
^
|
@@ -555,8 +555,7 @@
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
-void ImageManagerDriver::protocol(
- string& message)
+void ImageManagerDriver::protocol(const string& message) const
{
istringstream is(message);
ostringstream oss;
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/lcm/LifeCycleActions.cc
^
|
@@ -710,10 +710,6 @@
switch(vm->get_lcm_state())
{
- case VirtualMachine::LCM_INIT:
- vm->log("LCM", Log::ERROR, "clean_action, VM in a wrong state.");
- break;
-
case VirtualMachine::CLEANUP_RESUBMIT:
case VirtualMachine::CLEANUP_DELETE:
vm->set_state(VirtualMachine::CLEANUP_DELETE);
@@ -784,7 +780,6 @@
switch(vm->get_lcm_state())
{
- case VirtualMachine::LCM_INIT:
case VirtualMachine::CLEANUP_DELETE:
vm->log("LCM", Log::ERROR, "clean_action, VM in a wrong state.");
break;
@@ -993,3 +988,181 @@
break;
}
}
+
+/* -------------------------------------------------------------------------- */
+/* -------------------------------------------------------------------------- */
+
+void LifeCycleManager::recover(VirtualMachine * vm, bool success)
+{
+ LifeCycleManager::Actions lcm_action = LifeCycleManager::FINALIZE;
+
+ Nebula& nd = Nebula::instance();
+ DispatchManager * dm = nd.get_dm();
+
+ switch (vm->get_lcm_state())
+ {
+ //----------------------------------------------------------------------
+ // Direct recovery states
+ //----------------------------------------------------------------------
+ case VirtualMachine::LCM_INIT:
+ case VirtualMachine::RUNNING:
+ return;
+
+ case VirtualMachine::CLEANUP_DELETE:
+ dm->trigger(DispatchManager::DONE, vm->get_oid());
+ return;
+
+ case VirtualMachine::CLEANUP_RESUBMIT:
+ dm->trigger(DispatchManager::RESUBMIT, vm->get_oid());
+ return;
+
+ case VirtualMachine::UNKNOWN:
+ vm->set_state(VirtualMachine::RUNNING);
+ vmpool->update(vm);
+ return;
+
+ case VirtualMachine::FAILURE:
+ dm->trigger(DispatchManager::FAILED,vm->get_oid());
+ return;
+
+ //----------------------------------------------------------------------
+ // Recover through re-triggering LCM events
+ //----------------------------------------------------------------------
+ case VirtualMachine::PROLOG:
+ case VirtualMachine::PROLOG_MIGRATE:
+ case VirtualMachine::PROLOG_RESUME:
+ case VirtualMachine::PROLOG_UNDEPLOY:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::PROLOG_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::PROLOG_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::EPILOG:
+ case VirtualMachine::EPILOG_STOP:
+ case VirtualMachine::EPILOG_UNDEPLOY:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::EPILOG_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::EPILOG_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::HOTPLUG_SAVEAS:
+ case VirtualMachine::HOTPLUG_SAVEAS_POWEROFF:
+ case VirtualMachine::HOTPLUG_SAVEAS_SUSPENDED:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::SAVEAS_HOT_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::SAVEAS_HOT_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::BOOT:
+ case VirtualMachine::BOOT_UNKNOWN:
+ case VirtualMachine::BOOT_POWEROFF:
+ case VirtualMachine::BOOT_SUSPENDED:
+ case VirtualMachine::BOOT_STOPPED:
+ case VirtualMachine::BOOT_UNDEPLOY:
+ case VirtualMachine::MIGRATE:
+ if (success)
+ {
+ //Auto-generate deploy-id it'll work for Xen, KVM and VMware
+ if (vm->get_deploy_id().empty())
+ {
+ ostringstream oss;
+
+ oss << "one-" << vm->get_oid();
+
+ vm->update_info(oss.str());
+ }
+
+ lcm_action = LifeCycleManager::DEPLOY_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::DEPLOY_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::SHUTDOWN:
+ case VirtualMachine::SHUTDOWN_POWEROFF:
+ case VirtualMachine::SHUTDOWN_UNDEPLOY:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::SHUTDOWN_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::SHUTDOWN_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::CANCEL:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::CANCEL_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::CANCEL_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::SAVE_STOP:
+ case VirtualMachine::SAVE_SUSPEND:
+ case VirtualMachine::SAVE_MIGRATE:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::SAVE_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::SAVE_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::HOTPLUG:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::ATTACH_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::ATTACH_FAILURE;
+ }
+ break;
+
+ case VirtualMachine::HOTPLUG_NIC:
+ if (success)
+ {
+ lcm_action = LifeCycleManager::ATTACH_NIC_SUCCESS;
+ }
+ else
+ {
+ lcm_action = LifeCycleManager::ATTACH_NIC_FAILURE;
+ }
+ break;
+
+ //This is for all snapshot actions (create, delete & revert)
+ case VirtualMachine::HOTPLUG_SNAPSHOT:
+ lcm_action = LifeCycleManager::SNAPSHOT_CREATE_FAILURE;
+ break;
+ }
+
+ if (lcm_action != LifeCycleManager::FINALIZE)
+ {
+ trigger(lcm_action, vm->get_oid());
+ }
+}
+
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/oca/java/src/org/opennebula/client/OneSystem.java
^
|
@@ -32,7 +32,7 @@
private static final String GROUP_QUOTA_INFO = "groupquota.info";
private static final String GROUP_QUOTA_UPDATE = "groupquota.update";
- public static final String VERSION = "4.0.0";
+ public static final String VERSION = "4.0.1";
public OneSystem(Client client)
{
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/oca/java/src/org/opennebula/client/vm/VirtualMachine.java
^
|
@@ -47,6 +47,7 @@
private static final String SNAPSHOTCREATE = METHOD_PREFIX + "snapshotcreate";
private static final String SNAPSHOTREVERT = METHOD_PREFIX + "snapshotrevert";
private static final String SNAPSHOTDELETE = METHOD_PREFIX + "snapshotdelete";
+ private static final String RECOVER = METHOD_PREFIX + "recover";
private static final String[] VM_STATES =
{
@@ -438,7 +439,7 @@
}
/**
- * Deletes a VM snapshot
+ * Deletes a VM snapshot.
*
* @param client XML-RPC Client.
* @param id The VM id of the target VM.
@@ -450,6 +451,19 @@
return client.call(SNAPSHOTDELETE, id, snapId);
}
+ /**
+ * Recovers a stuck VM.
+ *
+ * @param client XML-RPC Client.
+ * @param id The virtual machine id (vid) of the target instance.
+ * @param success recover by succeeding the missing transaction if true.
+ * @return If an error occurs the error message contains the reason.
+ */
+ public static OneResponse recover(Client client, int id, boolean success)
+ {
+ return client.call(RECOVER, id, success);
+ }
+
// =================================
// Instanced object XML-RPC methods
// =================================
@@ -817,6 +831,17 @@
return snapshotDelete(client, id, snapId);
}
+ /**
+ * Recovers a stuck VM.
+ *
+ * @param success recover by succeeding the missing transaction if true.
+ * @return If an error occurs the error message contains the reason.
+ */
+ public OneResponse recover(boolean success)
+ {
+ return recover(client, id, success);
+ }
+
// =================================
// Helpers
// =================================
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/oca/ruby/opennebula.rb
^
|
@@ -54,5 +54,5 @@
module OpenNebula
# OpenNebula version
- VERSION = '4.0.0'
+ VERSION = '4.0.1'
end
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/oca/ruby/opennebula/virtual_machine.rb
^
|
@@ -43,7 +43,8 @@
:snapshotdelete => "vm.snapshotdelete",
:attachnic => "vm.attachnic",
:detachnic => "vm.detachnic",
- :resize => "vm.resize"
+ :resize => "vm.resize",
+ :recover => "vm.recover"
}
VM_STATE=%w{INIT PENDING HOLD ACTIVE STOPPED SUSPENDED DONE FAILED
@@ -524,9 +525,19 @@
return call(VM_METHODS[:snapshotdelete], @pe_id, snap_id)
end
- #######################################################################
+ # Recovers an ACTIVE VM
+ #
+ # @param result [Boolean] Recover with success (true) or failure (false)
+ # @param result [info] Additional information needed to recover the VM
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
+ # otherwise
+ def recover(result)
+ return call(VM_METHODS[:recover], @pe_id, result)
+ end
+
+ ########################################################################
# Helpers to get VirtualMachine information
- #######################################################################
+ ########################################################################
# Returns the VM state of the VirtualMachine (numeric value)
def state
|
[-]
[+]
|
Added |
opennebula-4.0.1.tar.bz2/src/onedb/4.0.0_to_4.0.1.rb
^
|
@@ -0,0 +1,29 @@
+# -------------------------------------------------------------------------- #
+# Copyright 2002-2013, OpenNebula Project (OpenNebula.org), C12G Labs #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); you may #
+# not use this file except in compliance with the License. You may obtain #
+# a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+#--------------------------------------------------------------------------- #
+
+module Migrator
+ def db_version
+ "4.0.1"
+ end
+
+ def one_version
+ "OpenNebula 4.0.1"
+ end
+
+ def up
+ return true
+ end
+end
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/onedb/fsck.rb
^
|
@@ -20,7 +20,7 @@
require 'set'
module OneDBFsck
- VERSION = "4.0.0"
+ VERSION = "4.0.1"
def db_version
VERSION
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/ozones/Server/templates/index.html
^
|
@@ -65,7 +65,7 @@
</div>
<div id="footer" style="overflow:visible;" class="ui-layout-south">
- <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.0</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
+ <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.1</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
</div>
<div id="dialogs">
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/ozones/Server/templates/login.html
^
|
@@ -49,7 +49,7 @@
</form>
</div>
<div id="footer" style="overflow:visible;">
- <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.0</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
+ <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.1</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
</div>
</body>
</html>
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/rm/RequestManager.cc
^
|
@@ -260,6 +260,7 @@
xmlrpc_c::methodPtr vm_snap_create(new VirtualMachineSnapshotCreate());
xmlrpc_c::methodPtr vm_snap_revert(new VirtualMachineSnapshotRevert());
xmlrpc_c::methodPtr vm_snap_delete(new VirtualMachineSnapshotDelete());
+ xmlrpc_c::methodPtr vm_recover(new VirtualMachineRecover());
xmlrpc_c::methodPtr vm_pool_acct(new VirtualMachinePoolAccounting());
xmlrpc_c::methodPtr vm_pool_monitoring(new VirtualMachinePoolMonitoring());
@@ -410,6 +411,7 @@
RequestManagerRegistry.addMethod("one.vm.snapshotcreate", vm_snap_create);
RequestManagerRegistry.addMethod("one.vm.snapshotrevert", vm_snap_revert);
RequestManagerRegistry.addMethod("one.vm.snapshotdelete", vm_snap_delete);
+ RequestManagerRegistry.addMethod("one.vm.recover", vm_recover);
RequestManagerRegistry.addMethod("one.vmpool.info", vm_pool_info);
RequestManagerRegistry.addMethod("one.vmpool.accounting", vm_pool_acct);
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/rm/RequestManagerVirtualMachine.cc
^
|
@@ -1760,3 +1760,46 @@
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
+
+void VirtualMachineRecover::request_execute(
+ xmlrpc_c::paramList const& paramList, RequestAttributes& att)
+{
+ int id = xmlrpc_c::value_int(paramList.getInt(1));
+ bool success = xmlrpc_c::value_boolean(paramList.getBoolean(2));
+
+ VirtualMachine * vm;
+
+ Nebula& nd = Nebula::instance();
+ LifeCycleManager* lcm = nd.get_lcm();
+
+ if ( vm_authorization(id, 0, 0, att, 0, 0, auth_op) == false )
+ {
+ return;
+ }
+
+ if ((vm = get_vm(id, att)) == 0)
+ {
+ return;
+ }
+
+ if(vm->get_state() != VirtualMachine::ACTIVE)
+ {
+ failure_response(ACTION,
+ request_error("Wrong state to perform action",""),
+ att);
+
+ vm->unlock();
+ return;
+ }
+
+ lcm->recover(vm, success);
+
+ success_response(id, att);
+
+ vm->unlock();
+
+ return;
+}
+
+/* -------------------------------------------------------------------------- */
+/* -------------------------------------------------------------------------- */
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/etc/sunstone-views.yaml
^
|
@@ -1,5 +1,5 @@
---
-logo: ../images/opennebula-sunstone-v4.0.png
+logo: images/opennebula-sunstone-v4.0.png
users:
groups:
oneadmin:
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/models/OpenNebulaJSON/VirtualMachineJSON.rb
^
|
@@ -75,6 +75,7 @@
when "undeploy" then self.undeploy(action_hash['params'])
when "resched" then self.resched
when "unresched" then self.unresched
+ when "recover" then self.recover(action_hash['params'])
else
error_msg = "#{action_hash['perform']} action not " <<
" available for this resource"
@@ -160,5 +161,10 @@
def rename(params=Hash.new)
super(params['name'])
end
+
+ def recover(params=Hash.new)
+ result = params['with'] == "success" ? true : false
+ super(result)
+ end
end
end
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/opennebula.js
^
|
@@ -483,6 +483,7 @@
url: "logout",
type: "POST",
success: function(response){
+ $.cookie("one-user", null);
return callback ? callback(request, response) : null;
},
error: function(response){
@@ -805,6 +806,10 @@
},
"unresched" : function(params){
OpenNebula.Action.simple_action(params,OpenNebula.VM.resource,"unresched");
+ },
+ "recover" : function(params){
+ var action_obj = {"with": params.data.extra_param};
+ OpenNebula.Action.simple_action(params,OpenNebula.VM.resource,"recover",action_obj);
}
},
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/acls-tab.js
^
|
@@ -614,9 +614,9 @@
dataTable_acls.fnFilter( $(this).val() );
})
- //addElement([
- // spinner,
- // '','','','','',''],dataTable_acls);
+ dataTable_acls.on('draw', function(){
+ recountCheckboxes(dataTable_acls);
+ })
Sunstone.runAction("Acl.list");
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/clusters-tab.js
^
|
@@ -1389,9 +1389,6 @@
//Prepares the autorefresh for hosts
function setClusterAutorefresh() {
setInterval(function(){
- var selected_menu = $('div#menu li.navigation-active-li');
- var inSubMenu = selected_menu.attr('id').indexOf('cluster') > 0;
-
var checked = $('input.check_item:checked',dataTable_clusters);
var filter = $("#cluster_search").attr('value');
if ((checked.length==0) && !filter){
@@ -1424,6 +1421,10 @@
dataTable_clusters.fnFilter( $(this).val() );
})
+ dataTable_clusters.on('draw', function(){
+ recountCheckboxes(dataTable_clusters);
+ })
+
Sunstone.runAction("Cluster.list");
dialogs_context.append('<div title=\"'+tr("Create cluster")+'\" id="create_cluster_dialog"></div>');
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/config-tab.js
^
|
@@ -14,6 +14,18 @@
/* limitations under the License. */
/* -------------------------------------------------------------------------- */
+var user_cookie = $.cookie("one-user");
+
+setInterval(function(){
+ var new_cookie = $.cookie("one-user");
+
+ if ((new_cookie == null) || (new_cookie !== user_cookie)) {
+ window.location.href='/';
+ } else {
+ user_cookie = new_cookie
+ }
+},5000);
+
Config = {
"isTabEnabled": function(tab_name){
@@ -180,7 +192,7 @@
notifyMessage(tr("Template updated correctly"));
OpenNebula.User.show({
data : {
- id: uid
+ id: "-1"
},
success: updateUserConfigInfo
});
@@ -253,7 +265,7 @@
OpenNebula.User.show({
data : {
- id: uid
+ id: "-1"
},
success: function(request,user_json){
var template = user_json.USER.TEMPLATE;
@@ -343,14 +355,14 @@
$("span.user-login a.configuration").click(function(){
OpenNebula.User.show({
data : {
- id: uid
+ id: '-1'
},
success: updateUserConfigInfo
});
OpenNebula.Group.show({
data : {
- id: gid
+ id: '-1'
},
success: function(request,group_json){
var info = group_json.GROUP;
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/datastores-tab.js
^
|
@@ -938,7 +938,7 @@
ds_obj.datastore.base_iqn = base_iqn;
if (vg_name)
- ds_obj.vg_name.bridge_list = vg_name;
+ ds_obj.datastore.vg_name = vg_name;
Sunstone.runAction("Datastore.create",ds_obj);
@@ -1117,6 +1117,10 @@
dataTable_datastores.fnFilter( $(this).val() );
})
+ dataTable_datastores.on('draw', function(){
+ recountCheckboxes(dataTable_datastores);
+ })
+
Sunstone.runAction("Datastore.list");
setupCreateDatastoreDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/files-tab.js
^
|
@@ -982,9 +982,10 @@
dataTable_files.fnFilter( $(this).val() );
})
- //addElement([
- // spinner,
- // '','','','','','','','','','','',''],dataTable_files);
+ dataTable_files.on('draw', function(){
+ recountCheckboxes(dataTable_files);
+ })
+
Sunstone.runAction("File.list");
setupCreateFileDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/groups-tab.js
^
|
@@ -618,13 +618,14 @@
]
});
- //addElement([
- // spinner,
- // '','','','','',''],dataTable_groups);
$('#group_search').keyup(function(){
dataTable_groups.fnFilter( $(this).val() );
})
+ dataTable_groups.on('draw', function(){
+ recountCheckboxes(dataTable_groups);
+ })
+
Sunstone.runAction("Group.list");
setupCreateGroupDialog();
setupGroupQuotasDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/hosts-tab.js
^
|
@@ -982,10 +982,10 @@
dataTable_hosts.fnFilter( $(this).val() );
})
- //preload it
- //addElement([
- // spinner,
- // '','','','','','','','','','','',''],dataTable_hosts);
+ dataTable_hosts.on('draw', function(){
+ recountCheckboxes(dataTable_hosts);
+ })
+
Sunstone.runAction("Host.list");
setupCreateHostDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/images-tab.js
^
|
@@ -250,6 +250,56 @@
</div>\
</div>\
</div>\
+ <div class="row">\
+ <fieldset>\
+ <legend>' + tr("Custom attributes") + '</legend>\
+ <div class="row">\
+ <div class="six columns">\
+ <div class="row">\
+ <div class="four columns">\
+ <label class="right inline" for="custom_var_image_name">'+tr("Name")+':</label>\
+ </div>\
+ <div class="seven columns">\
+ <input type="text" id="custom_var_image_name" name="custom_var_image_name" />\
+ </div>\
+ <div class="one columns">\
+ </div>\
+ </div>\
+ <div class="row">\
+ <div class="four columns">\
+ <label class="right inline" for="custom_var_image_value">'+tr("Value")+':</label>\
+ </div>\
+ <div class="seven columns">\
+ <input type="text" id="custom_var_image_value" name="custom_var_image_value" />\
+ </div>\
+ <div class="one columns">\
+ </div>\
+ </div>\
+ <div class="row">\
+ <div class="six columns">\
+ <button class="add_remove_button add_button secondary button right small radius" id="add_custom_var_image_button" value="add_custom_image_var">\
+ '+tr("Add")+'\
+ </button>\
+ </div>\
+ <div class="six columns">\
+ <button class="add_remove_button secondary button small radius" id="remove_custom_var_image_button" value="remove_custom_image_var">\
+ '+tr("Remove selected")+'\
+ </button>\
+ </div>\
+ </div>\
+ </div>\
+ <div class="six columns">\
+ <div class="row">\
+ <div class="eight centered columns">\
+ <select id="custom_var_image_box" name="custom_var_image_box" style="height:10em; width:100%" multiple>\
+ <!-- insert leases -->\
+ </select>\
+ </div>\
+ </div>\
+ </div>\
+ </div>\
+ </fieldset>\
+ </div>\
</div>\
<div class="reveal-footer">\
<hr>\
@@ -1123,6 +1173,7 @@
return false;
});
+
$('#create_image_submit_manual',dialog).click(function(){
var template=$('#template',dialog).val();
var ds_id = $('#img_datastore_raw',dialog).val();
@@ -1311,9 +1362,10 @@
dataTable_images.fnFilter( $(this).val() );
})
- //addElement([
- // spinner,
- // '','','','','','','','','','','',''],dataTable_images);
+ dataTable_images.on('draw', function(){
+ recountCheckboxes(dataTable_images);
+ })
+
Sunstone.runAction("Image.list");
setupCreateImageDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/marketplace-tab.js
^
|
@@ -324,6 +324,10 @@
dataTable_marketplace.fnFilter( $(this).val() );
})
+ dataTable_marketplace.on('draw', function(){
+ recountCheckboxes(dataTable_marketplace);
+ })
+
tableCheckboxesListener(dataTable_marketplace);
onlyOneCheckboxListener(dataTable_marketplace);
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/templates-tab.js
^
|
@@ -825,30 +825,128 @@
'<div class="show_hide" id="advanced_image">'+
'<h4><small><i class=" icon-caret-down"/> '+tr("Advanced options")+'<a id="add_os_boot_opts" class="icon_left" href="#"></a></small></h4>'+
'</div>'+
- '<div class="row advanced vm_param">'+
- '<div class="six columns">'+
- '<div class="row">'+
- '<div class="four columns">'+
- '<label class="right inline" for="TARGET">'+tr("TARGET")+':</label>'+
- '</div>'+
- '<div class="six columns">'+
- '<input type="text" id="TARGET" name="target"/>'+
+ '<div class="advanced">'+
+ '<div class="row advanced vm_param">'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="TARGET">'+tr("TARGET")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<input type="text" id="TARGET" name="target"/>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Device to map image disk. If set, it will overwrite the default device mapping")+'<br><br>\
+ '+tr("Xen: Optional")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Optional")+
+ '</div>'+
+ '</div>'+
'</div>'+
- '<div class="two columns">'+
- '<div class="tip">'+tr("Device to map image disk. If set, it will overwrite the default device mapping")+'</div>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="DRIVER">'+tr("DRIVER")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<input type="text" id="DRIVER" name="driver" />'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Specific image mapping driver")+'<br><br>\
+ '+tr("Xen: Optional (tap:aio:, file:)")+'<br>\
+ '+tr("KVM: Optional (raw, qcow2)")+'<br>\
+ '+tr("VMWare: Not supported")+
+ '</div>'+
+ '</div>'+
'</div>'+
'</div>'+
'</div>'+
- '<div class="six columns">'+
- '<div class="row">'+
- '<div class="four columns">'+
- '<label class="right inline" for="DRIVER">'+tr("DRIVER")+':</label>'+
+ '<div class="row advanced vm_param">'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="DEV_PREFIX">'+tr("DEV_PREFIX")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<input type="text" id="DEV_PREFIX" name="DEV_PREFIX"/>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”, or “vd” for KVM virtio. If omitted, the dev_prefix attribute of the Image will be used")+'<br><br>\
+ '+tr("Xen: Optional")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Optional")+
+ '</div>'+
+ '</div>'+
'</div>'+
- '<div class="six columns">'+
- '<input type="text" id="DRIVER" name="driver" />'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="READONLY">'+tr("READONLY")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<select id="READONLY" name="READONLY">'+
+ '<option value=""></option>'+
+ '<option value="yes">'+tr("yes")+'</option>'+
+ '<option value="no">'+tr("no")+'</option>'+
+ '</select>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Set how the image is exposed by the hypervisor")+'<br><br>\
+ '+tr("Xen: Optional")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Optional")+
+ '</div>'+
+ '</div>'+
+ '</div>'+
+ '</div>'+
+ '</div>'+
+ '<div class="row advanced vm_param">'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="CACHE">'+tr("CACHE")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<select id="CACHE" name="CACHE">'+
+ '<option value=""></option>'+
+ '<option value="default">'+tr("default")+'</option>'+
+ '<option value="none">'+tr("none")+'</option>'+
+ '<option value="writethrough">'+tr("writethrough")+'</option>'+
+ '<option value="writeback">'+tr("writeback")+'</option>'+
+ '<option value="directsync">'+tr("directsync")+'</option>'+
+ '<option value="unsafe">'+tr("unsafe")+'</option>'+
+ '</select>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Selects the cache mechanism for the disk.")+'<br><br>\
+ '+tr("Xen: Not supported")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Not supported")+
+ '</div>'+
+ '</div>'+
'</div>'+
- '<div class="two columns">'+
- '<div class="tip">'+tr("Specific image mapping driver. KVM: raw, qcow2. Xen:tap:aio:, file:. VMware unsupported")+'</div>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="IO">'+tr("IO")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<select id="IO" name="IO">'+
+ '<option value=""></option>'+
+ '<option value="threads">'+tr("threads")+'</option>'+
+ '<option value="native">'+tr("native")+'</option>'+
+ '</select>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Set IO policy.")+'<br><br>\
+ '+tr("Xen: Not supported")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Not supported")+
+ '</div>'+
+ '</div>'+
'</div>'+
'</div>'+
'</div>'+
@@ -887,14 +985,17 @@
'</div>'+
'</div>'+
'</div>'+
+ '<div class="vm_param">'+
+ '<input type="hidden" id="SIZE" name="size" />'+
+ '</div>'+
'<div class="row">'+
'<div class="two columns">'+
- '<label class="inline right" for="SIZE">'+tr("SIZE")+':</label>'+
+ '<label class="inline right" for="SIZE_TMP">'+tr("SIZE")+':</label>'+
'</div>'+
'<div id="size_slider" class="five columns">'+
'</div>'+
- '<div class="two columns vm_param">'+
- '<input type="text" id="SIZE" name="size"/>'+
+ '<div class="two columns">'+
+ '<input type="text" id="SIZE_TMP" name="size_tmp"/>'+
'</div>'+
'<div class="two columns">'+
'<select id="size_unit" name="SIZE_UNIT">'+
@@ -907,36 +1008,134 @@
'</div>'+
'</div>'+
'<div class="show_hide" id="advanced_volatile">'+
- '<h4><small><i class=" icon-caret-down"/> '+tr("Advanced options")+'<a id="add_os_boot_opts" class="icon_left" href="#"></a></small</h4>'+
+ '<h4><small><i class=" icon-caret-down"/> '+tr("Advanced options")+'<a id="add_os_boot_opts" class="icon_left" href="#"></a></small></h4>'+
'</div>'+
- '<div class="row advanced vm_param">'+
- '<div class="six columns">'+
- '<div class="row">'+
- '<div class="four columns">'+
- '<label class="right inline" for="TARGET">'+tr("TARGET")+':</label>'+
- '</div>'+
- '<div class="six columns">'+
- '<input type="text" id="TARGET" name="target"/>'+
+ '<div class="advanced">'+
+ '<div class="row advanced vm_param">'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="TARGET">'+tr("TARGET")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<input type="text" id="TARGET" name="target"/>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Device to map image disk. If set, it will overwrite the default device mapping")+'<br><br>\
+ '+tr("Xen: Optional")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Optional")+
+ '</div>'+
+ '</div>'+
'</div>'+
- '<div class="two columns">'+
- '<div class="tip">'+tr("Device to map image disk. If set, it will overwrite the default device mapping")+'</div>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="DRIVER">'+tr("DRIVER")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<input type="text" id="DRIVER" name="driver" />'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Specific image mapping driver")+'<br><br>\
+ '+tr("Xen: Optional (tap:aio:, file:)")+'<br>\
+ '+tr("KVM: Optional (raw, qcow2)")+'<br>\
+ '+tr("VMWare: Not supported")+
+ '</div>'+
+ '</div>'+
'</div>'+
'</div>'+
'</div>'+
- '<div class="six columns">'+
- '<div class="row">'+
- '<div class="four columns">'+
- '<label class="right inline" for="DRIVER">'+tr("DRIVER")+':</label>'+
+ '<div class="row advanced vm_param">'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="DEV_PREFIX">'+tr("DEV_PREFIX")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<input type="text" id="DEV_PREFIX" name="DEV_PREFIX"/>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”, or “vd” for KVM virtio. If omitted, the dev_prefix attribute of the Image will be used")+'<br><br>\
+ '+tr("Xen: Optional")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Optional")+
+ '</div>'+
+ '</div>'+
'</div>'+
- '<div class="six columns">'+
- '<input type="text" id="DRIVER" name="driver" />'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="READONLY">'+tr("READONLY")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<select id="READONLY" name="READONLY">'+
+ '<option value=""></option>'+
+ '<option value="yes">'+tr("yes")+'</option>'+
+ '<option value="no">'+tr("no")+'</option>'+
+ '</select>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Set how the image is exposed by the hypervisor")+'<br><br>\
+ '+tr("Xen: Optional")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Optional")+
+ '</div>'+
+ '</div>'+
'</div>'+
- '<div class="two columns">'+
- '<div class="tip">'+tr("Specific image mapping driver. KVM: raw, qcow2. Xen:tap:aio:, file:. VMware unsupported")+'</div>'+
+ '</div>'+
+ '</div>'+
+ '<div class="row advanced vm_param">'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="CACHE">'+tr("CACHE")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<select id="CACHE" name="CACHE">'+
+ '<option value=""></option>'+
+ '<option value="default">'+tr("default")+'</option>'+
+ '<option value="none">'+tr("none")+'</option>'+
+ '<option value="writethrough">'+tr("writethrough")+'</option>'+
+ '<option value="writeback">'+tr("writeback")+'</option>'+
+ '<option value="directsync">'+tr("directsync")+'</option>'+
+ '<option value="unsafe">'+tr("unsafe")+'</option>'+
+ '</select>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Selects the cache mechanism for the disk.")+'<br><br>\
+ '+tr("Xen: Not supported")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Not supported")+
+ '</div>'+
+ '</div>'+
+ '</div>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<div class="row">'+
+ '<div class="four columns">'+
+ '<label class="right inline" for="IO">'+tr("IO")+':</label>'+
+ '</div>'+
+ '<div class="six columns">'+
+ '<select id="IO" name="IO">'+
+ '<option value=""></option>'+
+ '<option value="threads">'+tr("threads")+'</option>'+
+ '<option value="native">'+tr("native")+'</option>'+
+ '</select>'+
+ '</div>'+
+ '<div class="two columns">'+
+ '<div class="tip">'+tr("Set IO policy.")+'<br><br>\
+ '+tr("Xen: Not supported")+'<br>\
+ '+tr("KVM: Optional")+'<br>\
+ '+tr("VMWare: Not supported")+
+ '</div>'+
+ '</div>'+
'</div>'+
'</div>'+
'</div>'+
- '</div>'+
+ '</div>'+
'</div>';
$("#refresh_template_images_table_button_class"+str_disk_tab_id).die();
@@ -985,17 +1184,29 @@
// Define the size slider
- var size_input = $( "#SIZE", disk_section );
+ var final_size_input = $( "#SIZE", disk_section );
+ var size_input = $( "#SIZE_TMP", disk_section );
var size_unit = $( "#size_unit", disk_section );
var current_size_unit = size_unit.val();
+ var update_final_size_input = function() {
+ if (current_size_unit == 'MB') {
+ final_size_input.val( Math.floor(size_input.val()) );
+ }
+ else {
+ final_size_input.val( Math.floor(size_input.val() * 1024) );
+ }
+ }
+
var size_slider_change = function(type) {
if ( type != "move")
{
var values = $(this).val();
size_input.val(values / 100);
+
+ update_final_size_input();
}
};
@@ -1012,15 +1223,18 @@
size_input.change(function() {
size_slider.val(this.value * 100)
+
+ update_final_size_input();
});
size_input.val(10);
+ update_final_size_input();
// init::start is ignored for some reason
size_slider.val(1000);
size_unit.change(function() {
- var size_unit_val = $('#size_unit :selected').val();
+ var size_unit_val = $('#size_unit :selected', disk_section).val();
if (current_size_unit != size_unit_val)
{
@@ -1058,6 +1272,8 @@
size_input.val( new_val );
size_slider.val(new_val * 100);
}
+
+ update_final_size_input();
}
});
@@ -4479,9 +4695,10 @@
dataTable_templates.fnFilter( $(this).val() );
})
- //addElement([
- // spinner,
- // '','','','',''],dataTable_templates);
+ dataTable_templates.on('draw', function(){
+ recountCheckboxes(dataTable_templates);
+ })
+
Sunstone.runAction("Template.list");
setupInstantiateTemplateDialog();
setupCreateTemplateDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/users-tab.js
^
|
@@ -928,6 +928,10 @@
dataTable_users.fnFilter( $(this).val() );
})
+ dataTable_users.on('draw', function(){
+ recountCheckboxes(dataTable_users);
+ })
+
Sunstone.runAction("User.list");
setupCreateUserDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/vms-tab.js
^
|
@@ -404,6 +404,15 @@
notify: true
},
+ "VM.recover" : {
+ type: "multiple",
+ call: OpenNebula.VM.recover,
+ callback: vmShow,
+ elements: vmElements,
+ error: onError,
+ notify: true
+ },
+
"VM.resched" : {
type: "multiple",
call: OpenNebula.VM.resched,
@@ -834,6 +843,17 @@
layout: "vmsplanification_buttons",
tip: tr("This will cancel the rescheduling for the selected VMs")
},
+ "VM.recover" : {
+ type: "confirm_with_select",
+ text: tr("Recover"),
+ layout: "vmsplanification_buttons",
+ select: function(){ return '<option value="success">' + tr("success") + '</option>\
+ <option value="failure">' + tr("failure") + '</option>'},
+ tip: tr("Recovers a stuck VM that is waiting for a driver operation. \
+ The recovery may be done by failing or succeeding the pending operation. \
+ YOU NEED TO MANUALLY CHECK THE VM STATUS ON THE HOST, to decide if the operation \
+ was successful or not.")
+ }
//"VM.help" : {
// type: "action",
@@ -2887,7 +2907,7 @@
function vncCallback(request,response){
rfb = new RFB({'target': $D('VNC_canvas'),
- 'encrypt': $('#config_table #wss_checkbox').is(':checked'),
+ 'encrypt': config['user_config']['vnc_wss'] == "yes",
'true_color': true,
'local_cursor': true,
'shared': true,
@@ -2949,6 +2969,10 @@
dataTable_vMachines.fnFilter( $(this).val() );
})
+ dataTable_vMachines.on('draw', function(){
+ recountCheckboxes(dataTable_vMachines);
+ })
+
//addElement([
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/plugins/vnets-tab.js
^
|
@@ -1578,9 +1578,10 @@
dataTable_vNetworks.fnFilter( $(this).val() );
})
- //addElement([
- // spinner,
- // '','','','','','','',''],dataTable_vNetworks);
+ dataTable_vNetworks.on('draw', function(){
+ recountCheckboxes(dataTable_vNetworks);
+ })
+
Sunstone.runAction("Network.list");
setupCreateVNetDialog();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/public/js/sunstone-util.js
^
|
@@ -1483,7 +1483,7 @@
notifyError(tr("Please select an element"));
return false;
};
- if (!value) value = 0;
+ if (!value) value = -1;
json[name] = value;
};
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/sunstone-server.rb
^
|
@@ -250,16 +250,8 @@
if !authorized?
return erb :login
end
- time = Time.now + 60*10
- response.set_cookie("one-user",
- :value=>"#{session[:user]}",
- :expires=>time)
- response.set_cookie("one-user_id",
- :value=>"#{session[:user_id]}",
- :expires=>time)
- response.set_cookie("one-user_gid",
- :value=>"#{session[:user_gid]}",
- :expires=>time)
+
+ response.set_cookie("one-user", :value=>"#{session[:user]}")
erb :index
end
@@ -290,7 +282,7 @@
uconf = {
:user_config => {
:lang => session[:lang],
- :wss => session[:wss],
+ :vnc_wss => session[:vnc_wss],
},
:system_config => {
:marketplace_url => $conf[:marketplace_url],
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/views/index.erb
^
|
@@ -86,7 +86,7 @@
</div>
<div id="footer" style="overflow:visible;text-align:center;padding:8px;font-size:12px">
- <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.0</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
+ <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.1</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
</div>
</div>
<div id="dialogs"></div>
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/sunstone/views/login.erb
^
|
@@ -26,7 +26,7 @@
<div id="footer" style="overflow:visible;">
- <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.0</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
+ <a href="http://opennebula.org" target="_blank">OpenNebula 4.0.1</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
</div>
</body>
</html>
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/tm/TransferManagerDriver.cc
^
|
@@ -41,8 +41,7 @@
/* MAD Interface */
/* ************************************************************************** */
-void TransferManagerDriver::protocol(
- string& message)
+void TransferManagerDriver::protocol(const string& message) const
{
istringstream is(message);
ostringstream os;
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vm/vm_var_syntax.cc
^
|
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.7. */
+/* A Bison parser, made by GNU Bison 2.7.12-4996. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
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
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.7"
+#define YYBISON_VERSION "2.7.12-4996"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -287,7 +287,7 @@
if (attr_name == "TEMPLATE")
{
- attr_value = vn->to_xml64(attr_value);
+ attr_value = vn->to_xml64(attr_value, true);
}
else
{
@@ -637,6 +637,14 @@
# endif
#endif
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later. */
+# if (! defined __GNUC__ || __GNUC__ < 2 \
+ || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
+# define __attribute__(Spec) /* empty */
+# endif
+#endif
+
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
@@ -644,6 +652,7 @@
# define YYUSE(E) /* empty */
#endif
+
/* Identity function, used to suppress warnings about constant conditions. */
#ifndef lint
# define YYID(N) (N)
@@ -1162,11 +1171,7 @@
# else
YYUSE (yyoutput);
# endif
- switch (yytype)
- {
- default:
- break;
- }
+ YYUSE (yytype);
}
@@ -1578,12 +1583,7 @@
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
- switch (yytype)
- {
-
- default:
- break;
- }
+ YYUSE (yytype);
}
@@ -1910,7 +1910,7 @@
switch (yyn)
{
case 4:
-/* Line 1792 of yacc.c */
+/* Line 1787 of yacc.c */
#line 456 "vm_var_syntax.y"
{
(*parsed) << (yyvsp[(1) - (1)].val_str);
@@ -1918,7 +1918,7 @@
break;
case 5:
-/* Line 1792 of yacc.c */
+/* Line 1787 of yacc.c */
#line 460 "vm_var_syntax.y"
{
string name((yyvsp[(1) - (2)].val_str));
@@ -1935,7 +1935,7 @@
break;
case 6:
-/* Line 1792 of yacc.c */
+/* Line 1787 of yacc.c */
#line 473 "vm_var_syntax.y"
{
string name((yyvsp[(1) - (5)].val_str));
@@ -1954,7 +1954,7 @@
break;
case 7:
-/* Line 1792 of yacc.c */
+/* Line 1787 of yacc.c */
#line 488 "vm_var_syntax.y"
{
string name((yyvsp[(1) - (9)].val_str));
@@ -1976,7 +1976,7 @@
break;
-/* Line 1792 of yacc.c */
+/* Line 1787 of yacc.c */
#line 1981 "vm_var_syntax.cc"
default: break;
}
@@ -2215,7 +2215,7 @@
}
-/* Line 2055 of yacc.c */
+/* Line 2050 of yacc.c */
#line 506 "vm_var_syntax.y"
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vm/vm_var_syntax.h
^
|
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.7. */
+/* A Bison parser, made by GNU Bison 2.7.12-4996. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
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
@@ -62,7 +62,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 2058 of yacc.c */
+/* Line 2053 of yacc.c */
#line 427 "vm_var_syntax.y"
char * val_str;
@@ -70,7 +70,7 @@
char val_char;
-/* Line 2058 of yacc.c */
+/* Line 2053 of yacc.c */
#line 75 "vm_var_syntax.hh"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vm/vm_var_syntax.y
^
|
@@ -229,7 +229,7 @@
if (attr_name == "TEMPLATE")
{
- attr_value = vn->to_xml64(attr_value);
+ attr_value = vn->to_xml64(attr_value, true);
}
else
{
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vmm/VirtualMachineManagerDriver.cc
^
|
@@ -179,8 +179,7 @@
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
-void VirtualMachineManagerDriver::protocol(
- string& message)
+void VirtualMachineManagerDriver::protocol(const string& message) const
{
istringstream is(message);
ostringstream os;
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vmm/XMLDriver.cc
^
|
@@ -26,16 +26,16 @@
{
ofstream file;
string xml;
-
+
file.open(file_name.c_str(), ios::out);
-
+
if (file.fail() == true)
{
vm->log("VMM", Log::ERROR, "Could not open XML deployment file.");
return -1;
}
-
- file << vm->template_to_xml(xml);
+
+ file << vm->to_xml(xml);
file.close();
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vmm_mad/ec2/one_vmm_ec2.rb
^
|
@@ -307,7 +307,7 @@
ec2 = nil
- all_ec2_elements = xml.root.get_elements("EC2")
+ all_ec2_elements = xml.root.get_elements("USER_TEMPLATE/EC2")
# First, let's see if we have an EC2 site that matches
# our desired host name
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vmm_mad/remotes/vmware/vmware_driver.rb
^
|
@@ -374,12 +374,6 @@
# Get the ds_id for system_ds from the first disk
metadata = metadata.text
-
- return deploy_id if metadata.nil? || metadata.empty?
-
- # Reconstruct path to vmx & add metadata
- path_to_vmx = "\$(find /vmfs/volumes/#{ds_id}/#{vm_id}/ -name #{name}.vmx)"
-
source = XPath.first(dfile_hash, "//disk/source").attributes['file']
ds_id = source.match(/^\[(.*)\](.*)/)[1]
@@ -387,12 +381,9 @@
vm_id = name.match(/^one-(.*)/)[1]
# Reconstruct path to vmx & add metadata
- path_to_vmx = "/vmfs/volumes/#{ds_id}/#{vm_id}/disk.0/#{name}.vmx"
-
+ path_to_vmx = "\$(find /vmfs/volumes/#{ds_id}/#{vm_id}/ -name #{name}.vmx)"
metadata.gsub!("\\n","\n")
-
sed_str = metadata.scan(/^([^ ]+) *=/).join("|")
-
do_ssh_action("sed -ri \"/^(#{sed_str}) *=.*$/d\" #{path_to_vmx} ; cat >> #{path_to_vmx}", metadata)
return deploy_id
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vnm/Leases.cc
^
|
@@ -109,7 +109,7 @@
ip6.s6_addr32[3] = htonl(eui64[0]);
// global or site unicast address
- if (prefix[1] != 0 && prefix[0] != 0 )
+ if (prefix[1] != 0 || prefix[0] != 0 )
{
ip6.s6_addr32[0] = htonl(prefix[1]);
ip6.s6_addr32[1] = htonl(prefix[0]);
@@ -177,7 +177,6 @@
int Leases::Lease::prefix6_to_number(const string& prefix, unsigned int ip[])
{
struct in6_addr s6;
- ostringstream oss;
if (prefix.empty())
{
@@ -185,9 +184,7 @@
return 0;
}
- oss << prefix << ":0:0:0:1";
-
- int rc = inet_pton(AF_INET6, oss.str().c_str(), &s6);
+ int rc = inet_pton(AF_INET6, prefix.c_str(), &s6);
if ( rc != 1 )
{
|
[-]
[+]
|
Changed |
opennebula-4.0.1.tar.bz2/src/vnm/VirtualNetwork.cc
^
|
@@ -26,6 +26,8 @@
#include "AuthManager.h"
#include "ClusterPool.h"
+#include "NebulaUtil.h"
+
#define TO_UPPER(S) transform(S.begin(),S.end(),S.begin(),(int(*)(int))toupper)
/* ************************************************************************** */
@@ -492,6 +494,24 @@
}
/* -------------------------------------------------------------------------- */
+/* -------------------------------------------------------------------------- */
+
+string& VirtualNetwork::to_xml64(string &xml64, bool extended)
+{
+ string *str64;
+
+ to_xml_extended(xml64, extended);
+
+ str64 = one_util::base64_encode(xml64);
+
+ xml64 = *str64;
+
+ delete str64;
+
+ return xml64;
+}
+
+/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
string& VirtualNetwork::to_xml_extended(string& xml) const
|