WO2017202211A1 - Method and device for installing service version on virtual machine - Google Patents

Method and device for installing service version on virtual machine Download PDF

Info

Publication number
WO2017202211A1
WO2017202211A1 PCT/CN2017/083977 CN2017083977W WO2017202211A1 WO 2017202211 A1 WO2017202211 A1 WO 2017202211A1 CN 2017083977 W CN2017083977 W CN 2017083977W WO 2017202211 A1 WO2017202211 A1 WO 2017202211A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
installation
version
vnfm
service
Prior art date
Application number
PCT/CN2017/083977
Other languages
French (fr)
Chinese (zh)
Inventor
李跃基
刘冉
王鑫
王康华
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017202211A1 publication Critical patent/WO2017202211A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Definitions

  • the present invention relates to the field of mobile communications, and in particular, to a method and apparatus for installing a service version on a virtual machine.
  • VNFM virtualized Network Function Manager
  • NFV virtualized Network Function Virtualization
  • the tool supports the SSH, TELNET, and RES (resident programs) in the virtual machine mode.
  • the version mode supports ftp and sftp. If you install a service version on a large number of VMs, you need to connect ssh and ftp to each VM. The connection takes a long time and consumes resources. When the number of ftp connections is too large, the concurrent version may fail. .
  • Ansible is an emerging automated operation and maintenance tool. Based on Python development, it combines the advantages of many operation and maintenance tools (puppet, cfengine, chef, func, fabric) to implement batch system configuration, batch program deployment, batch run commands and other functions. Ansible is based on modules and does not have the ability to deploy in bulk. The real bulk deployment is the module that Ansible runs, and Ansible just provides a framework. mainly includes:
  • connection plugin connection plugins responsible for communication with the monitored terminal;
  • host inventory the specified operation of the host, is a configuration file to define the monitoring host
  • Table 1 is a comparison table between iTool and Ansible
  • the present invention is proposed to provide an overcoming of the above problems or A method and apparatus for installing a service version on a virtual machine that at least partially solves the above problems.
  • the present invention provides a method for installing a service version on a virtual machine, including:
  • the virtual machine is instantiated by the virtualized network function module manager VNFM, and the VNFM product package is sent to the operation and maintenance service installation module, wherein the operation and maintenance service is set on the VNFM;
  • the VNFM is used to invoke the operation and maintenance service installation module to obtain the service version installation files in the product package and the software orchestration files in the operation and maintenance service, and install the service version of each virtual machine according to the service version installation file and the software orchestration file.
  • the present invention also provides a device for installing a service version on a virtual machine, which is disposed in a virtualized network function module manager VNFM, and includes:
  • the instantiation module is configured to instantiate the virtual machine through the virtualized network function module manager VNFM, and send the VNFM product package to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM;
  • the installation module is configured to invoke the operation and maintenance service installation module of the VNFM to obtain the service version installation file in the product package and the software orchestration file in the operation and maintenance service, and install the service version of each virtual machine according to the service version installation file and the software layout file. .
  • the embodiment of the invention further provides an apparatus for installing a service version on a virtual machine, including:
  • a memory for storing processor executable instructions
  • processor is configured to perform the steps in the aforementioned method.
  • the embodiment of the present invention further provides a computer readable storage medium for storing a program, wherein when the program is executed, the device that installs the service version on the virtual machine performs the steps in the foregoing method.
  • the installation sequence and the feedback of the installation progress and the log are controlled, and the installation time is improved in the prior art for installing the service version on a large number of virtual machines at the same time.
  • FIG. 1 is a flowchart of a method for installing a service version on a virtual machine according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a detailed process of a method for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of an integration mode of a product package in a version package according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram showing a directory structure of a baseline package according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a directory structure of a logical device package according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram showing a directory structure of a script template according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of content of a logical device installation script template according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a file format of an execution sequence file deviceinfo.yml of each logical device according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of an execution sequence file of a product package according to an embodiment of the present invention.
  • FIG. 10 is an interaction flowchart of an service version in an Ansible installation instantiated virtual machine according to an embodiment of the present invention
  • FIG. 11 is an interaction flowchart of an service version in an Ansible installation and expansion virtual machine according to an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of an apparatus for installing a service version on a virtual machine according to an embodiment of the present invention.
  • FIG. 14 is a detailed structural diagram of an apparatus for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention.
  • the present invention provides an NFV framework under virtual
  • the method and device for installing the service version on the machine adopts the open source Ansible, and develops and installs the module on the basis of the Ansible version, controls the installation sequence and feedbacks the installation progress and logs.
  • the retry interface of Ansible is called on the VNFM system.
  • FIG. 1 is a flowchart of a method for installing a service version on a virtual machine according to an embodiment of the present invention.
  • the method of installing the service version on the virtual machine under the NFV framework includes the following processing:
  • FIG. 1 is a flowchart of a method for installing a service version on a virtual machine according to an embodiment of the present invention, as shown in FIG.
  • the method for installing a service version on a virtual machine under the NFV framework of the embodiment includes the following processing:
  • Step 101 Instantiate the virtual machine by using the virtualized network function module manager VNFM, and send the product package of the VNFM to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM; preferably, the product package specifically includes : custom parameter file, version file and installation information of each logical device, and script file, wherein the custom parameter file includes: a baseline common parameter template, and a logical device installation sequence
  • the file, wherein the baseline common parameter template includes: logical device basic information and logical device common parameters.
  • the product package is integrated in such a way that one or more baseline packages form a logical device package, and one or more logical device packages form a production package.
  • the operation and maintenance service installation module of the VNFM is required to perform link detection of the virtual machine, and it is determined that all links are detected normally.
  • Step 101 specifically includes the following processing:
  • the virtual machine is instantiated by the VNFM according to the configuration information file required for the VNFM instantiation in the resource orchestration package and the version package.
  • step 102 the operation and maintenance service installation module is invoked by the VNFM to obtain the service version installation file in the product package and the software orchestration file in the operation and maintenance service, and the business version of each virtual machine is installed according to the service version installation file and the software layout file.
  • Step 102 specifically includes: calling an installation interface of the operation and maintenance service installation module, and installing a custom parameter file and a script file in the task directory according to the service version in the operation and maintenance service directory, and a version file and installation information in the product package,
  • the virtual machine performs the installation of the business version.
  • the VNFM when the VNFM needs to be expanded, the VNFM needs to be configured according to the capacity expansion, and the software layout file of the virtual machine is expanded, and the software programming file is sent to the operation and maintenance service; the VNFM triggers the expansion process.
  • the resource is created, and the pre-processing request is sent to the network element management system OMU, and the configuration data that needs to be parsed and read when the OMU installs the service version generated according to the pre-processing request is received, and the configuration data is uploaded to the operation and maintenance service;
  • the service installation module installs the service version of the expansion VM based on the software layout files, configuration data, and service version installation files in the product package.
  • the upgrade package is registered on the VNFM, and the upgrade package in the upgrade package is sent to the operation and maintenance service installation module.
  • the software layout file of the virtual machine to be upgraded is obtained through the VNFM according to the upgrade package. Configure the required parameters for the upgrade according to the software orchestration file, and send the software orchestration file to the operation and maintenance service; invoke the operation and maintenance service installation module, and modify the software layout files of the virtual machine according to the needs of the operation and maintenance service, and upgrade the product package.
  • the service version installation file is used to upgrade the service version of the virtual machine that needs to be upgraded.
  • the product package satisfies the following packaging rules:
  • the baseline common parameter template of each baseline package included in the logical device package under the product package is saved in the group_vars directory under the product package;
  • the logical device installation sequence file of the product package is saved in the device_order.yml directory under the product package;
  • the product package is a multi-product package, place the package execution sequence file pack_order.yml in a directory alongside the product package.
  • the VNFM can also receive the service version installation progress and/or the installation log fed back by the automatic operation and maintenance service installation module.
  • the automatic operation and maintenance service comprises: Ansible service.
  • FIG. 2 is a flowchart of a detailed process of a method for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing a method for installing a service version on a virtual machine in an NFV architecture according to an embodiment of the present invention. Including the following processing:
  • Step 201 deploy an Ansible service on the virtualized network function module manager VNFM.
  • the Ansible service is deployed on the VNFM system.
  • the service is stored in the VNFM version directly in the form of a zip-free package.
  • Ansible is deployed at the same time.
  • Step 202 Perform instantiation of the virtual machine by using the VNFM. Step 202 specifically includes the following processing:
  • the version package is registered on the VNFM, and the version package includes: a product package, a configuration information file required for the VNFM to be instantiated; specifically, the configuration information file required for the VNFM to be instantiated includes: a policy template file, a kpi indicator file. , template files, and other configuration information files needed for VNFM instantiation;
  • VNFM sends the product package to the Ansible installation module, and creates a business version installation task in the Ansible directory through the Ansible installation module;
  • a resource template file including VMs, mirrors, networks, VM specifications, elastic groups, cloud disks, and relationship groups.
  • the VNFM sends the customized parameter file and the script file to the directory of the service version installation task corresponding to Ansible.
  • the VNFM instantiates the virtual machine based on the ade resource file and the configuration information file required for VNFM instantiation.
  • the VNFM system needs to inject a public key when instantiating (creating) a virtual machine, and generates a private key on the VNFM for connecting to the virtual machine for subsequent service version installation.
  • Step 203 The link detection interface of the Ansible installation module is used by the VNFM to detect the link of the virtual machine. When all the links are detected normally, the installation interface of the Ansible installation module is invoked to perform a service version on each virtual machine according to the product package. installation;
  • step 203 the installation of the service version of each virtual machine specifically includes the following processing:
  • the service version installation progress and/or the installation log fed back by the Ansible installation module may also be received through the VNFM.
  • the installation progress and the log are returned to the VNFM system through the REST information.
  • the VNFM performs the software orchestration according to the capacity expansion, and generates a script file and a custom parameter file for the expansion of the virtual machine.
  • the customized parameter file and the script file are sent to the directory of the service version installation task corresponding to Ansible.
  • the VNFM triggers the capacity expansion process and creates a resource.
  • the VMF sends a pre-processing request to the network element management system (OMU).
  • the pre-processing request carries the information of the expanded virtual machine resource and the service version path information.
  • the OMU needs to record the created virtual machine resource information.
  • the OMU monitors the resources. In other cases, the IP address of the VM is allocated by the OMU.
  • the OMU will use the VM resource information delivered by the VNFM.
  • the IP is assigned and then reported to the VNFM.
  • the VNFM creates a virtual machine based on the reported IP.
  • the service version is installed, some parameters cannot be determined before installation. Only the OMU can obtain data in real time and then use it during installation.
  • the VNFM receives configuration data that needs to be parsed and read when the OMU is installed according to the pre-processing request, and uploads the configuration data to the directory of the service version installation task corresponding to the Ansible.
  • the upgrade package includes: upgrade product package, and configuration information required for VNFM upgrade;
  • VNFM sends the upgrade product package to the Ansible installation module, and creates a business version installation task in the Ansible directory through the Ansible installation module;
  • VNFM obtains the customized parameter file and upgrade script file of the virtual machine to be upgraded according to the upgrade product package, and configures the required parameters according to the customized parameter file.
  • the VNFM sends the customized parameter file and the upgrade script file to the directory of the service version installation task corresponding to Ansible.
  • the product package specifically includes:
  • the custom parameter file, the version file, the installation information, and the script file of each logical device wherein the custom parameter file includes: a baseline common parameter template, and a logical device installation sequence file, wherein the baseline common parameter template includes: a logical device basic Information and logic device common parameters.
  • the product package is integrated in such a way that one or more baseline packages form a logical device package, and one or more logical device packages form a production package.
  • the product package satisfies the following packaging rules:
  • the version files and installation information of each baseline package included in the logical device package under the product package are saved in the roles directory under the product package;
  • the baseline common parameter template of each baseline package included in the logical device package under the product package is saved in the group_vars directory under the product package;
  • the script file of each baseline package included in the logical device package under the product package is saved in the playbook directory under the product package;
  • the logical device installation order file of the product package is saved to the device_order.yml directory under the product package;
  • the product package is a multi-product package, place the product package execution order file pack_order.yml in a directory alongside the product package.
  • the embodiment of the present invention uses Ansible to install the service version, and has the following requirements for the directory and file name of the version package:
  • the integration mode of the product package in the version package is shown in Figure 3.
  • the product package consists of a hierarchical relationship of the baseline package - logical device package - product package. According to the logical device type packaging mode, the packaged product package needs to provide group_vars, roles, device_order.yml and script templates for each logical device.
  • Figure 3 :
  • Ansible The root directory of the ansible version package
  • Product1, product2 product package name
  • Hosts virtual machine address, grouping, and login information configuration files
  • Group_vars the directory where the logical device subordinate baseline public parameter template is placed
  • Device_template the script template placement directory
  • Deviceinfo.yml Whether the logical device supports resiliency and executes the sequence template file
  • the package meets the following packaging rules as follows:
  • Templates the baseline template directory, the directory is the jinja2 file;
  • Task task directory, the main.yml file in the directory will be called during installation, the main.yml content is the specific installation steps of the baseline version;
  • Handlers placed in this directory is the content configuration file that needs to be executed after the baseline installation is completed, such as Mobile services, etc.
  • Meta The configuration file directory that depends on other baselines.
  • the main.yml under this directory is configured with configuration information that depends on other baselines.
  • the baseline public parameter template of each logical device belonging to the product package is placed in the group_vars directory.
  • the baseline common parameter template is divided into two parts: basic information and logical device common parameters: in Figure 5,
  • Group_vars the directory where the logical device subordinate baseline public parameter template is placed
  • the file name of the basic information template is: ivlm_vars_zh_tmpl.yml, and the field structure cannot be modified.
  • the script template (planning file) of each logical device to which the product belongs is stored in the playbook directory, specifically:
  • the logical device installation script template naming mode is: "site_” + logical device name + "_tmpl.yml” file, taking scp as an example: site_scp_tmpl.yml.
  • Plan_result the root directory where the plan file is placed
  • Res_install_info.yml The logical device planning information file, which contains the planned inelastic/elastic logical device information and the virtual machine name installed by the logical device;
  • Playbook the script file placement directory
  • Vars The parameter file placement directory for the plan.
  • the format of the execution order file deviceinfo.yml file of each logical device belonging to the product package is as shown in FIG. 8. It should be noted that the content of the deviceinfo.yml file and the content of the device_order.yml file are The same, the difference is deviceinfo.yml for the execution order file of each logical device after planning, device_order.yml is the execution order file of each logical device before planning.
  • the order field indicates the execution priority of the logical device. The smaller the priority, the higher the priority is executed, and the logical device type of the priority is executed in parallel.
  • the isScaleout field indicates whether the logical device type supports elastic expansion. If the elastic expansion is supported, it is true.
  • Step 1 first register the version package on the VNFM
  • Step 2 The VNFM sends the product package in the version package to the ansible control node, corresponding to creating the role of the role;
  • Step 3 Perform resource scheduling on the VNFM to generate an ade resource file.
  • Step 4 Perform software programming on the VNFM to generate a custom parameter file and a script file of the instantiated virtual machine; wherein each virtual machine has a different custom parameter file and a script file.
  • Step 5 Deliver a custom parameter file and a script file to the role role directory corresponding to ansible
  • Step 6 The lifecycle process initiates an instantiation process to create an instantiated resource.
  • Step 7 After the resource is successfully created, the controlled version of the service version is installed to invoke the script of the corresponding node to install the service version.
  • step 8 Ansible returns to the installation log in real time.
  • Step 1 The VNFM generates a script file and a custom parameter file according to the software layout of the elastic scaling group, wherein the custom parameter file includes the elastic scaling common parameter;
  • Step 2 The VNFM triggers the expansion process and creates resources.
  • Step 3 After the resource is successfully created, the pre-processing request is sent to the OMU, and the virtual machine resource information and the version path information are added.
  • Step 4 the OMU uploads some custom files that need to be generated to the corresponding role directory of the ansible
  • Step 5 Trigger the Ansible command to install the script, and Ansible installs the roles one by one according to the script configuration;
  • Step 6 Ansible returns the installation log to VNFM in real time.
  • Step 1 Register the upgrade package on the VNFM.
  • the upgrade package structure needs to be packaged.
  • Step 2 The VNFM sends the upgrade package to the ansible.
  • Step 3 Configure the parameters required for the upgrade, and the VNFM sends the set parameter configuration file to the ansible.
  • Step 4 The life cycle process triggers the corresponding upgrade script of the ansible operation, and the ansible upgrades the node that needs to be upgraded according to the upgrade script, and returns the installation log to the VNFM in real time.
  • the prior art is solved for the simultaneous
  • the service version is installed on a large number of VMs.
  • the connection is time-consuming and resource-intensive.
  • the version fails to be delivered. This reduces the cost of network resources.
  • the service version is installed on a large number of VMs quickly and efficiently. And the success rate is high.
  • a device for installing a service version on a virtual machine which is disposed in a virtualized network function module manager VNFM
  • FIG. 13 is a structure of a device for installing a service version on a virtual machine according to an embodiment of the present invention.
  • the apparatus for installing a service version on a virtual machine according to an embodiment of the present invention specifically includes an instantiation module 130 and an installation module 132. The modules of the embodiments of the present invention are described in detail below.
  • the instantiation module 130 is configured to instantiate the virtual machine through the virtualized network function module manager VNFM, and send the VNFM product package to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM; the instantiation module 130 is specifically used to:
  • Register the version package on the VNFM send the product package in the version package to the operation and maintenance service installation module; perform resource scheduling and software orchestration on the VNFM, and obtain software programming files of each logical device according to the software programming result and the product package, and The software orchestration file is delivered to the operation and maintenance service; the virtual machine is instantiated by the VNFM according to the configuration information file required for the VNFM instantiation in the resource orchestration package and the version package.
  • the installation module 132 is configured to invoke the operation and maintenance service installation module of the VNFM to obtain the service version installation file in the product package and the software orchestration file in the operation and maintenance service, and perform a service version on each virtual machine according to the service version installation file and the software layout file. installation.
  • the installation module 132 is specifically configured to:
  • the above apparatus further comprises:
  • the detection module is configured to invoke the operation and maintenance service installation module of the VNFM to perform link detection of the virtual machine, and determine that all links are detected normally.
  • the capacity expansion module is used to perform software orchestration according to the capacity expansion of the VNFM, and generates a unified software orchestration file for the expansion of the virtual machine, and delivers the software orchestration file to the operation and maintenance service; the VNFM triggers the expansion process, creates resources, and
  • the network element management system OMU sends a pre-processing request, receives configuration data that needs to be parsed and read when the OMU installs the service version generated according to the pre-processing request, and uploads the configuration data to the operation and maintenance service; and invokes the installation interface of the operation and maintenance service installation module.
  • the service version of the expansion VM is installed according to the software layout files, configuration data, and service version installation files in the product package.
  • the upgrade module is used to register the upgrade package on the VNFM, and send the upgrade package in the upgrade package to the operation and maintenance service installation module; obtain the software layout file of the virtual machine to be upgraded according to the upgrade product package through the VNFM, and arrange the software according to the software.
  • the file configuration parameters are upgraded, and the software orchestration file is delivered to the operation and maintenance service; the operation and maintenance service installation module is invoked, and the software layout files of the virtual machine that need to be upgraded according to the operation and maintenance service are upgraded, and the service version in the upgrade product package is upgraded.
  • the receiving module is configured to receive, by using the VNFM, a service version installation progress and/or an installation log fed back by the automatic operation and maintenance service installation module.
  • the product package specifically includes:
  • the custom parameter file, the version file, the installation information, and the script file of each logical device wherein the custom parameter file includes: a baseline common parameter template, and a logical device installation sequence file, wherein the baseline common parameter template includes: a logical device basic Information and logic device common parameters.
  • the product package is integrated in such a way that one or more baseline packages form a logical device package, and one or more logical device packages form a production package.
  • the package meets the following packaging rules:
  • the baseline common parameter template of each baseline package included in the logical device package under the product package is saved in the group_vars directory under the product package;
  • the logical device installation sequence file of the product package is saved in the device_order.yml directory under the product package;
  • the product package is a multi-product package, place the package execution sequence file pack_order.yml in a directory alongside the product package.
  • the automatic operation and maintenance service includes: an Ansible service.
  • FIG. 14 is a schematic structural diagram of an apparatus for installing a service version on a virtual machine according to an embodiment of the present invention.
  • the apparatus for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention includes: a deployment module 140, The instantiation module 142, and the calling module 144.
  • a deployment module 140 configured to deploy an Ansible service on the virtualized network function module manager VNFM;
  • the instantiation module 142 is configured to perform instantiation of the virtual machine by using the VNFM; the instantiation module 122 is specifically configured to:
  • the version package includes: a product package, a configuration information file required for VNFM instantiation;
  • the virtual machine is instantiated according to the ade resource file and the configuration information file required when the VNFM is instantiated.
  • the calling module 144 is configured to perform link detection of the virtual machine by using the link detection interface of the Ansible installation module by using the VNFM. When all links are detected to be normal, the installation interface of the Ansible installation module is invoked according to the product package for each virtual machine. Performing installation of the service version; the calling module 144 is specifically configured to:
  • the apparatus of the embodiment of the present invention may further include: a receiving module, configured to receive, by using the VNFM, a service version installation progress and/or an installation log fed back by the Ansible installation module.
  • a receiving module configured to receive, by using the VNFM, a service version installation progress and/or an installation log fed back by the Ansible installation module.
  • the foregoing apparatus further includes:
  • the expansion module is used to perform software orchestration according to the capacity expansion and generate a script file for expanding the virtual machine. And the custom parameter file, and the customized parameter file and the script file are sent to the directory of the service version installation task corresponding to the Ansible; the expansion process is triggered, the resource is created, and after the resource is successfully created, the network element is created.
  • the management system OMU sends a pre-processing request; receives the configuration data that needs to be parsed and read when the OMU generates the service version generated according to the pre-processing request, and uploads the configuration data to the directory of the service version installation task corresponding to the Ansible;
  • the installation interface of the installation module is installed according to the custom parameter file and the script file, the configuration data, and the version file and installation information in the product package in the task directory of the service version in the Ansible directory.
  • the virtual machine performs the installation of the service version; the VNFM receives the service version installation progress and/or installation log fed back by the Ansible installation module.
  • the upgrade module is configured to register an upgrade version package on the VNFM, where the upgrade version package includes: an upgrade product package, and configuration information required for the VNFM upgrade; sending the upgrade product package to the Ansible installation module, and The Ansible installation module creates a service version installation task in the Ansible directory; obtains a custom parameter file and an upgrade script file of the virtual machine to be upgraded according to the upgrade product package, and configures parameters required for the upgrade according to the customized parameter file. And sending the customized parameter file and the upgrade script file to the directory of the service version installation task corresponding to Ansible; calling the installation interface of the Ansible installation module, and installing the task directory according to the service version in the Ansible directory.
  • the embodiment of the present invention solves the problem of installing the module on the basis of an Ansible and developing the installation module on the basis of the Ansible version, controlling the installation sequence and feeding back the installation progress and logs, and solving the problem in the prior art for installing on a large number of virtual machines at the same time.
  • the service version has a long connection time and consumes resources. In the case of concurrency, the issue of the failed version is reduced. The network resources are reduced.
  • the service version is installed on a large number of VMs quickly and efficiently. The success rate is high.
  • modules in the client in the embodiment can be adaptively changed and placed in one or more clients different from the embodiment.
  • the modules in the embodiments can be combined into one module, and further they can be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the client are combined.
  • Each feature disclosed in this specification may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or all of the functionality of some or all of the components loaded with the ordered web address in accordance with an embodiment of the present invention.
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals can be downloaded from the Internet website or The carrier signal is provided on, or provided in any other form.
  • an embodiment of the present invention further provides an apparatus for installing a service version on a virtual machine, including:
  • a memory for storing processor executable instructions
  • processor is configured to:
  • the virtual machine is instantiated by the virtualized network function module manager VNFM, and the product package of the VNFM is sent to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM;
  • the processor can also be configured to perform other steps in the above methods.
  • the method and apparatus of the present application are applicable to the field of mobile communications.
  • the installation sequence and the feedback of the installation progress and the log are controlled, and the installation time is improved in the prior art for installing the service version on a large number of virtual machines at the same time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Provided are a method and device for installing a service version on a virtual machine. The method comprises: performing instantiation of a virtual machine through a virtualized network function module manager (VNFM), and sending a product package of the VNFM to an operation and maintenance service installation module, wherein an operation and maintenance service is provided on the VNFM (101); and calling, through the VNFM, the operation and maintenance service installation module to acquire a service version installation file in the product package and a software orchestration file in the operation and maintenance service, and installing service versions of various virtual machines according to the service version installation file and the software orchestration file (102). By means of the technical solution, the consumption of network resources can be reduced, service versions are simultaneously installed on a large number of virtual machines quickly and efficiently, and the success rate is high.

Description

虚拟机上安装业务版本的方法及装置Method and device for installing service version on virtual machine 技术领域Technical field
本发明涉及移动通讯领域,特别是涉及一种虚拟机上安装业务版本的方法及装置。The present invention relates to the field of mobile communications, and in particular, to a method and apparatus for installing a service version on a virtual machine.
背景技术Background technique
在目前即网络功能虚拟化(Network Function Virtualization,简称为NFV)架构下的虚拟化的网络功能模块管理器(Virtualised Network Function Manager,简称为VNFM)系统中安装模块采用的是自研的iTool工具,该工具连接虚拟机方式支持SSH、TELNET、RES(驻留程序)三种方式;下发版本方式支持ftp、sftp。对于同时在大量虚拟机上安装业务版本,每个虚拟机都需要连接ssh及ftp,连接时间较长且耗资源,ftp连接数过多时,在并发情况下,偶尔会导致下发版本失败等问题。The virtualized Network Function Manager (VNFM) system installed in the virtualized Network Function Virtualization (NFV) architecture is a self-developed iTool tool. The tool supports the SSH, TELNET, and RES (resident programs) in the virtual machine mode. The version mode supports ftp and sftp. If you install a service version on a large number of VMs, you need to connect ssh and ftp to each VM. The connection takes a long time and consumes resources. When the number of ftp connections is too large, the concurrent version may fail. .
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。主要包括:Ansible is an emerging automated operation and maintenance tool. Based on Python development, it combines the advantages of many operation and maintenance tools (puppet, cfengine, chef, func, fabric) to implement batch system configuration, batch program deployment, batch run commands and other functions. Ansible is based on modules and does not have the ability to deploy in bulk. The real bulk deployment is the module that Ansible runs, and Ansible just provides a framework. mainly includes:
1、连接插件connection plugins:负责和被监控端实现通信;1, the connection plugin connection plugins: responsible for communication with the monitored terminal;
2、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;2, host inventory: the specified operation of the host, is a configuration file to define the monitoring host;
3、各种模块核心模块、command模块、自定义模块;3, various module core modules, command modules, custom modules;
4、借助于插件完成记录日志邮件等功能;4, with the help of plug-ins to complete logging log mail and other functions;
5、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。5, playbook: When the script performs multiple tasks, it is not necessary to allow the node to run multiple tasks at once.
表1是iTool与Ansible对比表; Table 1 is a comparison table between iTool and Ansible;
Figure PCTCN2017083977-appb-000001
Figure PCTCN2017083977-appb-000001
Figure PCTCN2017083977-appb-000002
Figure PCTCN2017083977-appb-000002
表1Table 1
发明内容Summary of the invention
鉴于现有技术中对于同时在大量虚拟机上安装业务版本,连接时间较长且耗资源,在并发情况下,会导致下发版本失败的问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的虚拟机上安装业务版本的方法及装置。In view of the problem in the prior art that the service version is installed on a large number of virtual machines at the same time, the connection time is long and the resources are consumed, and in the case of concurrency, the issued version fails, the present invention is proposed to provide an overcoming of the above problems or A method and apparatus for installing a service version on a virtual machine that at least partially solves the above problems.
本发明提供一种虚拟机上安装业务版本的方法,包括:The present invention provides a method for installing a service version on a virtual machine, including:
通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将VNFM的产品包发送到运维服务安装模块,其中,VNFM上设置有运维服务;The virtual machine is instantiated by the virtualized network function module manager VNFM, and the VNFM product package is sent to the operation and maintenance service installation module, wherein the operation and maintenance service is set on the VNFM;
通过VNFM调用运维服务安装模块获取产品包中的业务版本安装文件和运维服务中的软件编排文件,根据业务版本安装文件和软件编排文件对各个虚拟机进行业务版本的安装。The VNFM is used to invoke the operation and maintenance service installation module to obtain the service version installation files in the product package and the software orchestration files in the operation and maintenance service, and install the service version of each virtual machine according to the service version installation file and the software orchestration file.
本发明还提供了一种虚拟机上安装业务版本的装置,设置于虚拟化的网络功能模块管理器VNFM,包括:The present invention also provides a device for installing a service version on a virtual machine, which is disposed in a virtualized network function module manager VNFM, and includes:
实例化模块,用于通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将VNFM的产品包发送到运维服务安装模块,其中,VNFM上设置有运维服务;The instantiation module is configured to instantiate the virtual machine through the virtualized network function module manager VNFM, and send the VNFM product package to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM;
安装模块,用于通过VNFM调用运维服务安装模块获取产品包中的业务版本安装文件和运维服务中的软件编排文件,根据业务版本安装文件和软件编排文件对各个虚拟机进行业务版本的安装。 The installation module is configured to invoke the operation and maintenance service installation module of the VNFM to obtain the service version installation file in the product package and the software orchestration file in the operation and maintenance service, and install the service version of each virtual machine according to the service version installation file and the software layout file. .
本发明实施例还提供一种虚拟机上安装业务版本的装置,包括:The embodiment of the invention further provides an apparatus for installing a service version on a virtual machine, including:
处理器;processor;
用于存储处理器可执行指令的存储器;a memory for storing processor executable instructions;
其中,所述处理器被配置为执行前述方法中的步骤。Wherein the processor is configured to perform the steps in the aforementioned method.
本发明实施例还提供一种计算机可读存储介质,用于存储程序,其中所述程序被执行时使得虚拟机上安装业务版本的装置执行前述方法中的步骤。The embodiment of the present invention further provides a computer readable storage medium for storing a program, wherein when the program is executed, the device that installs the service version on the virtual machine performs the steps in the foregoing method.
本发明有益效果如下:The beneficial effects of the present invention are as follows:
通过采用自动运维服务,并在自动运维服务的基础上开发安装模块,控制安装顺序及反馈安装进度、日志,解决了现有技术中对于同时在大量虚拟机上安装业务版本,连接时间较长且耗资源,在并发情况下,会导致下发版本失败的问题,能够减少网络资源的耗费,快速高效的同时在大量虚拟机上安装业务版本,且成功率高。By adopting the automatic operation and maintenance service and developing the installation module based on the automatic operation and maintenance service, the installation sequence and the feedback of the installation progress and the log are controlled, and the installation time is improved in the prior art for installing the service version on a large number of virtual machines at the same time. Long and resource-intensive, in the case of concurrency, it will cause the problem of the failed version, reduce the cost of network resources, and install the service version on a large number of virtual machines at the same time quickly and efficiently, with a high success rate.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solutions of the present invention, and the above-described and other objects, features and advantages of the present invention can be more clearly understood. Specific embodiments of the invention are set forth below.
附图说明DRAWINGS
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those skilled in the art from a The drawings are only for the purpose of illustrating the preferred embodiments and are not to be construed as limiting. Throughout the drawings, the same reference numerals are used to refer to the same parts. In the drawing:
图1是本发明实施例的虚拟机上安装业务版本的方法的流程图;1 is a flowchart of a method for installing a service version on a virtual machine according to an embodiment of the present invention;
图2是本发明实施例的NFV构架下在虚拟机上安装业务版本的方法的详细处理的流程图;2 is a flowchart of a detailed process of a method for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention;
图3是本发明实施例的版本包中的产品包的集成模式的示意图;3 is a schematic diagram of an integration mode of a product package in a version package according to an embodiment of the present invention;
图4是本发明实施例的基线包的目录结构示意图;4 is a schematic diagram showing a directory structure of a baseline package according to an embodiment of the present invention;
图5是本发明实施例的逻辑设备包的目录结构示意图;FIG. 5 is a schematic diagram of a directory structure of a logical device package according to an embodiment of the present invention; FIG.
图6是本发明实施例的剧本模板的目录结构示意图;6 is a schematic diagram showing a directory structure of a script template according to an embodiment of the present invention;
图7是本发明实施例的逻辑设备安装剧本模板内容的示意图;7 is a schematic diagram of content of a logical device installation script template according to an embodiment of the present invention;
图8是本发明实施例的各个逻辑设备的执行顺序文件deviceinfo.yml文件格式的示意图;8 is a schematic diagram of a file format of an execution sequence file deviceinfo.yml of each logical device according to an embodiment of the present invention;
图9是本发明实施例的产品包的执行顺序文件的示意图; 9 is a schematic diagram of an execution sequence file of a product package according to an embodiment of the present invention;
图10是本发明实施例的Ansible安装实例化虚拟机中的业务版本的交互流程图;10 is an interaction flowchart of an service version in an Ansible installation instantiated virtual machine according to an embodiment of the present invention;
图11是本发明实施例的Ansible安装扩容虚拟机中的业务版本的交互流程图;11 is an interaction flowchart of an service version in an Ansible installation and expansion virtual machine according to an embodiment of the present invention;
图12是本发明实施例的Ansible升级虚拟机中的业务版本的交互流程图;12 is an interaction flowchart of a service version in an Ansible upgrade virtual machine according to an embodiment of the present invention;
图13是本发明实施例的在虚拟机上安装业务版本的装置的结构示意图;FIG. 13 is a schematic structural diagram of an apparatus for installing a service version on a virtual machine according to an embodiment of the present invention; FIG.
图14是本发明实施例的NFV构架下虚拟机上安装业务版本的装置的详细结构示意图。FIG. 14 is a detailed structural diagram of an apparatus for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention.
具体实施方式detailed description
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the embodiments of the present invention have been shown in the drawings, the embodiments Rather, these embodiments are provided so that this disclosure will be more fully understood and the scope of the disclosure will be fully disclosed.
为了解决现有技术中对于同时在大量虚拟机上安装业务版本,连接时间较长且耗资源,在并发情况下,会导致下发版本失败的问题,本发明提供了一种NFV构架下在虚拟机上安装业务版本的方法及装置,采用开源的Ansible,并在Ansible版本的基础上开发安装模块,控制安装顺序及反馈安装进度、日志等。安装失败需要重试时,在VNFM系统调用Ansible的重试接口。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。In order to solve the problem in the prior art that the service version is installed on a large number of virtual machines at the same time, the connection time is long and the resources are consumed, and in the case of concurrency, the issued version fails. The present invention provides an NFV framework under virtual The method and device for installing the service version on the machine adopts the open source Ansible, and develops and installs the module on the basis of the Ansible version, controls the installation sequence and feedbacks the installation progress and logs. When the installation fails and needs to be retried, the retry interface of Ansible is called on the VNFM system. The invention will be further described in detail below with reference to the drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
方法实施例Method embodiment
根据本发明的实施例,提供了一种虚拟机上安装业务版本的方法,图1是本发明实施例的虚拟机上安装业务版本的方法的流程图,如图1示,根据本发明实施例的NFV构架下在虚拟机上安装业务版本的方法包括如下处理:According to an embodiment of the present invention, a method for installing a service version on a virtual machine is provided. FIG. 1 is a flowchart of a method for installing a service version on a virtual machine according to an embodiment of the present invention. The method of installing the service version on the virtual machine under the NFV framework includes the following processing:
根据本发明的实施例,提供了一种在虚拟机上安装业务版本的方法,图1是本发明实施例的在虚拟机上安装业务版本的方法的流程图,如图1示,根据本发明实施例的NFV构架下在虚拟机上安装业务版本的方法包括如下处理:According to an embodiment of the present invention, a method for installing a service version on a virtual machine is provided. FIG. 1 is a flowchart of a method for installing a service version on a virtual machine according to an embodiment of the present invention, as shown in FIG. The method for installing a service version on a virtual machine under the NFV framework of the embodiment includes the following processing:
步骤101,通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将VNFM的产品包发送到运维服务安装模块,其中,VNFM上设置有运维服务;优选地,产品包具体包括:各个逻辑设备的自定义参数文件、版本文件及安装信息、以及剧本文件,其中,自定义参数文件包括:基线公共参数模板、以及逻辑设备安装顺序 文件,其中,基线公共参数模板包括:逻辑设备基本信息和逻辑设备公共参数。产品包的集成方式为:一个或多个基线包组成一个逻辑设备包,一个或多个逻辑设备包组成一个产包。Step 101: Instantiate the virtual machine by using the virtualized network function module manager VNFM, and send the product package of the VNFM to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM; preferably, the product package specifically includes : custom parameter file, version file and installation information of each logical device, and script file, wherein the custom parameter file includes: a baseline common parameter template, and a logical device installation sequence The file, wherein the baseline common parameter template includes: logical device basic information and logical device common parameters. The product package is integrated in such a way that one or more baseline packages form a logical device package, and one or more logical device packages form a production package.
在本发明实施例中,通过VNFM进行虚拟机的实例化之后,还需要通过VNFM调用运维服务安装模块进行虚拟机的链路检测,并确定所有链路都检测均正常。In the embodiment of the present invention, after the virtual machine is instantiated by the VNFM, the operation and maintenance service installation module of the VNFM is required to perform link detection of the virtual machine, and it is determined that all links are detected normally.
步骤101具体包括如下处理:Step 101 specifically includes the following processing:
1、在VNFM上注册版本包,将版本包中的产品包发送到运维服务安装模块;1. Register the version package on the VNFM, and send the product package in the version package to the operation and maintenance service installation module;
2、在VNFM上进行资源编排和软件编排,并根据软件编排结果和产品包获取各个逻辑设备的软件编排文件,并将软件编排文件下发到运维服务;2. Perform resource scheduling and software orchestration on the VNFM, and obtain software programming files of each logical device according to the software programming results and product packages, and deliver the software programming files to the operation and maintenance service;
3、通过VNFM根据资源编排和版本包中的VNFM实例化时所需要的配置信息文件实例化虚拟机。3. The virtual machine is instantiated by the VNFM according to the configuration information file required for the VNFM instantiation in the resource orchestration package and the version package.
步骤102,通过VNFM调用运维服务安装模块获取产品包中的业务版本安装文件和运维服务中的软件编排文件,根据业务版本安装文件和软件编排文件对各个虚拟机进行业务版本的安装。In step 102, the operation and maintenance service installation module is invoked by the VNFM to obtain the service version installation file in the product package and the software orchestration file in the operation and maintenance service, and the business version of each virtual machine is installed according to the service version installation file and the software layout file.
步骤102具体包括:调用运维服务安装模块的安装接口,根据运维服务目录中的业务版本安装任务目录下的自定义参数文件和剧本文件,以及产品包中的版本文件及安装信息,对各个虚拟机进行业务版本的安装。Step 102 specifically includes: calling an installation interface of the operation and maintenance service installation module, and installing a custom parameter file and a script file in the task directory according to the service version in the operation and maintenance service directory, and a version file and installation information in the product package, The virtual machine performs the installation of the business version.
在本发明实施例中,需要扩容时,通过VNFM根据扩容需要进行软件编排,并生成扩容虚拟机统一的软件编排文件,并将该软件编排文件下发到运维服务;通过VNFM触发扩容流程,进行资源创建,并向网元管理系统OMU发送预处理请求,接收OMU根据预处理请求生成的安装业务版本时需要解析和读取的配置数据,并将配置数据上传到运维服务;调用运维服务安装模块的安装接口,根据扩容虚拟机统一的软件编排文件、配置数据、以及产品包中的业务版本安装文件,对扩容虚拟机进行业务版本的安装。In the embodiment of the present invention, when the VNFM needs to be expanded, the VNFM needs to be configured according to the capacity expansion, and the software layout file of the virtual machine is expanded, and the software programming file is sent to the operation and maintenance service; the VNFM triggers the expansion process. The resource is created, and the pre-processing request is sent to the network element management system OMU, and the configuration data that needs to be parsed and read when the OMU installs the service version generated according to the pre-processing request is received, and the configuration data is uploaded to the operation and maintenance service; The service installation module installs the service version of the expansion VM based on the software layout files, configuration data, and service version installation files in the product package.
在需要业务版本的升级时,在VNFM上注册升级版本包,将升级版本包中的升级产品包发送到运维服务安装模块;通过VNFM根据升级产品包获取需要升级的虚拟机的软件编排文件,根据软件编排文件配置升级所需参数,并将软件编排文件下发到运维服务;调用运维服务安装模块,根据运维服务中的需要升级的虚拟机的软件编排文件,以及升级产品包中的业务版本安装文件,对需要升级的虚拟机进行业务版本的升级。 When the upgrade of the service version is required, the upgrade package is registered on the VNFM, and the upgrade package in the upgrade package is sent to the operation and maintenance service installation module. The software layout file of the virtual machine to be upgraded is obtained through the VNFM according to the upgrade package. Configure the required parameters for the upgrade according to the software orchestration file, and send the software orchestration file to the operation and maintenance service; invoke the operation and maintenance service installation module, and modify the software layout files of the virtual machine according to the needs of the operation and maintenance service, and upgrade the product package. The service version installation file is used to upgrade the service version of the virtual machine that needs to be upgraded.
需要说明的是,在本发明实施例中,产品包满足以下打包规则:It should be noted that, in the embodiment of the present invention, the product package satisfies the following packaging rules:
1、产品包下的逻辑设备包所包含的各个基线包的版本文件及安装信息保存到产品包下的roles目录下;1. The version files and installation information of each baseline package included in the logical device package under the product package are saved in the roles directory under the product package;
2、产品包下的逻辑设备包所包含的各个基线包的基线公共参数模板保存到产品包下的group_vars目录下;2. The baseline common parameter template of each baseline package included in the logical device package under the product package is saved in the group_vars directory under the product package;
3、产品包下的逻辑设备包所包含的各个基线包的剧本文件保存到产品包下的playbook目录下;3. The script file of each baseline package included in the logical device package under the product package is saved in the playbook directory under the product package;
4、产品包的逻辑设备安装顺序文件保存到产品包下的device_order.yml目录下;4. The logical device installation sequence file of the product package is saved in the device_order.yml directory under the product package;
5、如果产品包为多产品包,则将产品包执行顺序文件pack_order.yml放在与产品包并列的目录下。5. If the product package is a multi-product package, place the package execution sequence file pack_order.yml in a directory alongside the product package.
在本发明实施例中,还可以通过VNFM接收自动运维服务安装模块反馈的业务版本安装进度和/或安装日志。In the embodiment of the present invention, the VNFM can also receive the service version installation progress and/or the installation log fed back by the automatic operation and maintenance service installation module.
优选地,自动运维服务包括:Ansible服务。Preferably, the automatic operation and maintenance service comprises: Ansible service.
下面以Ansible服务为例,对本发明实施例的上述技术方案进行详细说明。The above technical solution of the embodiment of the present invention is described in detail below by taking the Ansible service as an example.
图2是本发明实施例的NFV构架下在虚拟机上安装业务版本的方法的详细处理的流程图,如图2示,根据本发明实施例的NFV构架下在虚拟机上安装业务版本的方法包括如下处理:2 is a flowchart of a detailed process of a method for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention. FIG. 2 is a diagram showing a method for installing a service version on a virtual machine in an NFV architecture according to an embodiment of the present invention. Including the following processing:
步骤201,在虚拟化的网络功能模块管理器VNFM上部署Ansible服务;Step 201: deploy an Ansible service on the virtualized network function module manager VNFM.
具体地,在VNFM系统上部署Ansible服务,该服务采用免安装方式,直接以zip包形式存放在VNFM版本中,在安装VNFM时,同时部署Ansible。Specifically, the Ansible service is deployed on the VNFM system. The service is stored in the VNFM version directly in the form of a zip-free package. When the VNFM is installed, Ansible is deployed at the same time.
步骤202,通过VNFM进行虚拟机的实例化;步骤202具体包括如下处理:Step 202: Perform instantiation of the virtual machine by using the VNFM. Step 202 specifically includes the following processing:
在VNFM上注册版本包,其中,版本包包括:产品包、VNFM实例化时所需要的配置信息文件;具体地,VNFM实例化时所需要的配置信息文件具体包括:策略模板文件、kpi指标文件、模板文件以及VNFM实例化时所需要的其他配置信息文件;The version package is registered on the VNFM, and the version package includes: a product package, a configuration information file required for the VNFM to be instantiated; specifically, the configuration information file required for the VNFM to be instantiated includes: a policy template file, a kpi indicator file. , template files, and other configuration information files needed for VNFM instantiation;
VNFM将产品包发送到Ansible安装模块,并通过Ansible安装模块在Ansible目录中创建业务版本安装任务;VNFM sends the product package to the Ansible installation module, and creates a business version installation task in the Ansible directory through the Ansible installation module;
在VNFM上进行资源编排,生成ade资源文件,并在VNFM上进行软件编排,根据产品包获取各个逻辑设备的自定义参数文件和剧本文件;具体地,ade资源文件是通过ade图形化工具编排的资源模板文件,资源包括虚拟机、镜像、网络、虚拟机规格、弹性伸缩组、云硬盘、关系组等。 Perform resource scheduling on the VNFM, generate ade resource files, and perform software orchestration on the VNFM, and obtain custom parameter files and script files of each logical device according to the product package; specifically, the ade resource files are arranged by the ade graphical tool. A resource template file, including VMs, mirrors, networks, VM specifications, elastic groups, cloud disks, and relationship groups.
VNFM将自定义参数文件和剧本文件下发到Ansible对应的业务版本安装任务的目录下;The VNFM sends the customized parameter file and the script file to the directory of the service version installation task corresponding to Ansible.
VNFM根据ade资源文件和VNFM实例化时所需要的配置信息文件实例化虚拟机。The VNFM instantiates the virtual machine based on the ade resource file and the configuration information file required for VNFM instantiation.
在本发明实施例中,VNFM系统实例化(创建)虚拟机时需要注入公钥,同时在VNFM上生成一份私钥,供后续进行业务版本安装时连接虚拟机使用。In the embodiment of the present invention, the VNFM system needs to inject a public key when instantiating (creating) a virtual machine, and generates a private key on the VNFM for connecting to the virtual machine for subsequent service version installation.
步骤203,通过VNFM调用Ansible安装模块的链路检测接口进行虚拟机的链路检测,在所有链路都检测正常的情况下,调用Ansible安装模块的安装接口根据产品包对各个虚拟机进行业务版本的安装;Step 203: The link detection interface of the Ansible installation module is used by the VNFM to detect the link of the virtual machine. When all the links are detected normally, the installation interface of the Ansible installation module is invoked to perform a service version on each virtual machine according to the product package. installation;
在步骤203中,对各个虚拟机进行业务版本的安装具体包括如下处理:In step 203, the installation of the service version of each virtual machine specifically includes the following processing:
调用Ansible安装模块的安装接口,根据Ansible目录中的业务版本安装任务目录下的自定义参数文件和剧本文件,以及产品包中的版本文件及安装信息,对各个虚拟机进行业务版本的安装。Call the installation interface of the Ansible installation module, install the custom parameter file and script file in the task directory according to the service version in the Ansible directory, and the version file and installation information in the product package to install the service version for each virtual machine.
在本发明实施例中,还可以通过VNFM接收Ansible安装模块反馈的业务版本安装进度和/或安装日志。优选地,在本发明实施例中,安装进度及日志通过可以REST信息返回给VNFM系统。In the embodiment of the present invention, the service version installation progress and/or the installation log fed back by the Ansible installation module may also be received through the VNFM. Preferably, in the embodiment of the present invention, the installation progress and the log are returned to the VNFM system through the REST information.
优选地,在本发明实施例中,在需要对扩容的虚拟机进行业务版本升级时,需要执行如下处理:Preferably, in the embodiment of the present invention, when the service version upgrade of the virtual machine to be expanded is performed, the following processing needs to be performed:
VNFM根据扩容需要进行软件编排,并生成扩容虚拟机统一的剧本文件和自定义参数文件,并将自定义参数文件和剧本文件下发到Ansible对应的业务版本安装任务的目录下;The VNFM performs the software orchestration according to the capacity expansion, and generates a script file and a custom parameter file for the expansion of the virtual machine. The customized parameter file and the script file are sent to the directory of the service version installation task corresponding to Ansible.
VNFM触发扩容流程,进行资源创建,在资源创建成功后,向网元管理系统OMU发送预处理请求;具体地,预处理请求中携带有扩容虚拟机资源信息以及业务版本路径信息;需要说明的是,OMU需要记录创建的虚拟机资源信息,待虚拟机创建完成后,对这些资源进行监控;还有一种情况是虚拟机的IP地址由OMU来分配,OMU会根据VNFM下发的虚拟机资源信息分配IP,然后上报给VNFM,VNFM根据上报的IP来创建虚拟机。此外,在继续业务版本安装时,有些参数在安装前是无法确定的,只有通过OMU实时获取数据生成文件,再在安装时使用。The VNFM triggers the capacity expansion process and creates a resource. After the resource is successfully created, the VMF sends a pre-processing request to the network element management system (OMU). Specifically, the pre-processing request carries the information of the expanded virtual machine resource and the service version path information. The OMU needs to record the created virtual machine resource information. After the VM is created, the OMU monitors the resources. In other cases, the IP address of the VM is allocated by the OMU. The OMU will use the VM resource information delivered by the VNFM. The IP is assigned and then reported to the VNFM. The VNFM creates a virtual machine based on the reported IP. In addition, when the service version is installed, some parameters cannot be determined before installation. Only the OMU can obtain data in real time and then use it during installation.
VNFM接收OMU根据预处理请求生成的安装业务版本时需要解析和读取的配置数据,并将配置数据上传到Ansible对应的业务版本安装任务的目录下; The VNFM receives configuration data that needs to be parsed and read when the OMU is installed according to the pre-processing request, and uploads the configuration data to the directory of the service version installation task corresponding to the Ansible.
调用Ansible安装模块的安装接口,根据Ansible目录中的业务版本安装任务目录下的自定义参数文件和剧本文件、配置数据、以及产品包中的版本文件及安装信息,对扩容虚拟机进行业务版本的安装;Call the installation interface of the Ansible installation module, install the custom parameter file and script file, configuration data, and the version file and installation information in the product package according to the service version in the Ansible directory, and then expand the service version of the virtual machine. installation;
通过VNFM接收Ansible安装模块反馈的业务版本安装进度和/或安装日志。Receive the service version installation progress and/or installation log fed back by the Ansible installation module through the VNFM.
优选地,在本发明实施例中,在对虚拟机的业务版本进行升级时,进行如下处理:Preferably, in the embodiment of the present invention, when the service version of the virtual machine is upgraded, the following processing is performed:
在VNFM上注册升级版本包,其中,升级版本包包括:升级产品包、以及VNFM升级时所需要的配置信息;Register the upgrade package on the VNFM, where the upgrade package includes: upgrade product package, and configuration information required for VNFM upgrade;
VNFM将升级产品包发送到Ansible安装模块,并通过Ansible安装模块在Ansible目录中创建业务版本安装任务;VNFM sends the upgrade product package to the Ansible installation module, and creates a business version installation task in the Ansible directory through the Ansible installation module;
VNFM根据升级产品包获取需要升级的虚拟机的自定义参数文件和升级剧本文件,并根据自定义参数文件配置升级所需参数。VNFM obtains the customized parameter file and upgrade script file of the virtual machine to be upgraded according to the upgrade product package, and configures the required parameters according to the customized parameter file.
VNFM将自定义参数文件和升级剧本文件下发到Ansible对应的业务版本安装任务的目录下;The VNFM sends the customized parameter file and the upgrade script file to the directory of the service version installation task corresponding to Ansible.
调用Ansible安装模块的安装接口,根据Ansible目录中的业务版本安装任务目录下的自定义参数文件和升级剧本文件,以及产品包中的版本文件及安装信息,对需要升级的虚拟机进行业务版本的升级;Call the installation interface of the Ansible installation module, install the custom parameter file and the upgrade script file in the task directory according to the service version in the Ansible directory, and the version file and installation information in the product package, and perform the service version on the virtual machine to be upgraded. upgrade;
通过VNFM接收Ansible安装模块反馈的业务版本安装进度和/或安装日志。Receive the service version installation progress and/or installation log fed back by the Ansible installation module through the VNFM.
需要说明的是,在本发明实施例中,产品包具体包括:It should be noted that, in the embodiment of the present invention, the product package specifically includes:
各个逻辑设备的自定义参数文件、版本文件及安装信息、以及剧本文件,其中,自定义参数文件包括:基线公共参数模板、以及逻辑设备安装顺序文件,其中,基线公共参数模板包括:逻辑设备基本信息和逻辑设备公共参数。The custom parameter file, the version file, the installation information, and the script file of each logical device, wherein the custom parameter file includes: a baseline common parameter template, and a logical device installation sequence file, wherein the baseline common parameter template includes: a logical device basic Information and logic device common parameters.
产品包的集成方式为:一个或多个基线包组成一个逻辑设备包,一个或多个逻辑设备包组成一个产包。The product package is integrated in such a way that one or more baseline packages form a logical device package, and one or more logical device packages form a production package.
此外,在本发明实施例中,产品包满足以下打包规则:Furthermore, in an embodiment of the invention, the product package satisfies the following packaging rules:
产品包下的逻辑设备包所包含的各个基线包的版本文件及安装信息保存到产品包下的roles目录下;The version files and installation information of each baseline package included in the logical device package under the product package are saved in the roles directory under the product package;
产品包下的逻辑设备包所包含的各个基线包的基线公共参数模板保存到产品包下的group_vars目录下;The baseline common parameter template of each baseline package included in the logical device package under the product package is saved in the group_vars directory under the product package;
产品包下的逻辑设备包所包含的各个基线包的剧本文件保存到产品包下的playbook目录下; The script file of each baseline package included in the logical device package under the product package is saved in the playbook directory under the product package;
产品包的逻辑设备安装顺序文件保存到产品包下的device_order.yml目录下;The logical device installation order file of the product package is saved to the device_order.yml directory under the product package;
如果产品包为多产品包,则将产品包执行顺序文件pack_order.yml放在与产品包并列的目录下。If the product package is a multi-product package, place the product package execution order file pack_order.yml in a directory alongside the product package.
以下结合附图,对本发明实施例的上述技术方案进行详细说明。The above technical solutions of the embodiments of the present invention are described in detail below with reference to the accompanying drawings.
本发明实施例采用Ansible进行业务版本的安装,对版本包的目录及文件名称有如下要求:The embodiment of the present invention uses Ansible to install the service version, and has the following requirements for the directory and file name of the version package:
版本包中的产品包的集成模式如图3所示,产品包采用基线包-逻辑设备包-产品包的层级关系组成。按照逻辑设备类型打包模式,打包后的产品包需要提供group_vars、roles、device_order.yml和各个逻辑设备的剧本模板。在图3中:The integration mode of the product package in the version package is shown in Figure 3. The product package consists of a hierarchical relationship of the baseline package - logical device package - product package. According to the logical device type packaging mode, the packaged product package needs to provide group_vars, roles, device_order.yml and script templates for each logical device. In Figure 3:
Ansible:ansible版本包存在的根目录目录;Ansible: The root directory of the ansible version package;
product1、product2:产品包名;Product1, product2: product package name;
Pack_order.yml:产品包执行顺序文件;Pack_order.yml: product package execution sequence file;
hosts:虚机地址、分组及登录信息配置文件;Hosts: virtual machine address, grouping, and login information configuration files;
group_vars:逻辑设备下属基线公共参数模板放置目录;Group_vars: the directory where the logical device subordinate baseline public parameter template is placed;
roles:基线版本放置目录;Roles: the baseline version placement directory;
device_template:剧本模板放置目录;Device_template: the script template placement directory;
deviceinfo.yml:逻辑设备是否支持弹性及执行顺序模板文件;Deviceinfo.yml: Whether the logical device supports resiliency and executes the sequence template file;
ommagt、sdfv、httpv:基线目录;Ommagt, sdfv, httpv: baseline directory;
site_scp_tmpl.yml:剧本模板文件。Site_scp_tmpl.yml: Script template file.
产品包满足以下打包规则如下:The package meets the following packaging rules as follows:
1、如图4所示,该产品包所属逻辑设备下属的各个基线包(基线版本)的role并放入到产品下的roles目录下,当多个逻辑设备版本有相同基线版本的时候由产品集成方进行汇总,确保基线包的唯一性。在图4中:1. As shown in Figure 4, the role of each baseline package (baseline version) of the logical device belonging to the product package is placed in the roles directory under the product. When multiple logical device versions have the same baseline version, the product is The integration side summarizes to ensure the uniqueness of the baseline package. In Figure 4:
role:基线目录;Role: the baseline directory;
files:基线版本目录;Files: the baseline version directory;
vars:基线参数文件;Vars: the baseline parameter file;
templates:基线模板目录,目录下为jinja2文件;Templates: the baseline template directory, the directory is the jinja2 file;
task:任务目录,安装时会调用该目录下的main.yml文件,main.yml内容为基线版本具体安装步骤;Task: task directory, the main.yml file in the directory will be called during installation, the main.yml content is the specific installation steps of the baseline version;
handlers:该目录下放置的是基线安装完成后需要执行的内容配置文件,比如启 动服务等;Handlers: placed in this directory is the content configuration file that needs to be executed after the baseline installation is completed, such as Mobile services, etc.
meta:依赖其他基线的配置文件目录,该目录下的main.yml配置的是依赖其他基线的配置信息。Meta: The configuration file directory that depends on other baselines. The main.yml under this directory is configured with configuration information that depends on other baselines.
2、如图5所示,该产品包所属各个逻辑设备下属基线公共参数模板,放入group_vars目录下。基线公共参数模板分为两部分:基本信息和逻辑设备公共参数:在图5中,2. As shown in Figure 5, the baseline public parameter template of each logical device belonging to the product package is placed in the group_vars directory. The baseline common parameter template is divided into two parts: basic information and logical device common parameters: in Figure 5,
group_vars:逻辑设备下属基线公共参数模板放置目录;Group_vars: the directory where the logical device subordinate baseline public parameter template is placed;
roles:基线版本放置目录;Roles: the baseline version placement directory;
ommagt、sdfv、httpv:基线目录;Ommagt, sdfv, httpv: baseline directory;
site_scp_tmpl.yml:剧本模板文件。Site_scp_tmpl.yml: Script template file.
(1)基本信息模板的文件名为:ivlm_vars_zh_tmpl.yml,里面字段结构不可修改。(1) The file name of the basic information template is: ivlm_vars_zh_tmpl.yml, and the field structure cannot be modified.
(2)逻辑设备下属基线公共参数模板的命名规范,以逻辑设备名称+“_vars_”+“语言”+“tmpl.yml”命名,以SCP逻辑设备举例:scp_vars_zh_tmpl.yml和scp_vars_en_tmpl.yml分别对应中文和英文模板。(2) The naming convention of the baseline public parameter template of the logical device, named after the logical device name + "_vars_" + "language" + "tmpl.yml", with SCP logical device as an example: scp_vars_zh_tmpl.yml and scp_vars_en_tmpl.yml respectively correspond to Chinese And English templates.
3、如图6所示,该产品所属各个逻辑设备的剧本模板(规划文件)存放在playbook目录下,具体地:3. As shown in FIG. 6, the script template (planning file) of each logical device to which the product belongs is stored in the playbook directory, specifically:
(1)逻辑设备安装剧本模板命名方式为:“site_”+逻辑设备名称+“_tmpl.yml”文件,以scp为例:site_scp_tmpl.yml。(1) The logical device installation script template naming mode is: "site_" + logical device name + "_tmpl.yml" file, taking scp as an example: site_scp_tmpl.yml.
(2)逻辑设备安装剧本模板内容如图6所示,注意各个基线role的执行顺序,在模板中必须按照顺序写入role。(2) Logical device installation script template content as shown in Figure 6, pay attention to the order of execution of each baseline role, in the template must be written in sequence.
在图7中:In Figure 7:
plan_result:规划文件放置的根目录;Plan_result: the root directory where the plan file is placed;
res_install_info.yml:逻辑设备规划信息文件,包含规划的非弹性/弹性逻辑设备信息及逻辑设备所安装的虚机名称;Res_install_info.yml: The logical device planning information file, which contains the planned inelastic/elastic logical device information and the virtual machine name installed by the logical device;
playbook:剧本文件放置目录;Playbook: the script file placement directory;
site_vm1_scp_1.yml:规划后的剧本文件;Site_vm1_scp_1.yml: the script file after planning;
vars:规划的参数文件放置目录。Vars: The parameter file placement directory for the plan.
4、该产品包所属各个逻辑设备的执行顺序文件deviceinfo.yml文件的格式如图8所示,需要说明的是,deviceinfo.yml文件的内容和device_order.yml文件中的内容是 相同的,其区别为deviceinfo.yml中为规划后的各个逻辑设备的执行顺序文件,device_order.yml为规划前的各个逻辑设备的执行顺序文件。4. The format of the execution order file deviceinfo.yml file of each logical device belonging to the product package is as shown in FIG. 8. It should be noted that the content of the deviceinfo.yml file and the content of the device_order.yml file are The same, the difference is deviceinfo.yml for the execution order file of each logical device after planning, device_order.yml is the execution order file of each logical device before planning.
如图8所示,order字段表明该逻辑设备的执行优先级,优先级越小,越优先执行,同优先级的逻辑设备类型并行执行。isScaleout字段表示该逻辑设备类型是否支持弹性扩容,如果支持弹性扩容则为true。As shown in FIG. 8, the order field indicates the execution priority of the logical device. The smaller the priority, the higher the priority is executed, and the logical device type of the priority is executed in parallel. The isScaleout field indicates whether the logical device type supports elastic expansion. If the elastic expansion is supported, it is true.
5、如果产品包为多产品包,则需要额外提供产品包的执行顺序文件,也就是pack_order.yml文件,格式如图9所示。5. If the product package is a multi-product package, you need to provide an additional execution order file of the product package, that is, the pack_order.yml file, as shown in Figure 9.
以下对本发明实施例的业务版本的安装流程进行详细说明。The installation process of the service version of the embodiment of the present invention is described in detail below.
Ansible安装实例化虚拟机中的业务版本,如图10所示,具体包括如下处理:Ansible installs the service version in the instantiated virtual machine, as shown in Figure 10. Specifically, it includes the following processing:
步骤1,首先在VNFM上注册版本包; Step 1, first register the version package on the VNFM;
步骤2,VNFM将版本包中的产品包下发到ansible控制节点上,对应创建role角色;Step 2: The VNFM sends the product package in the version package to the ansible control node, corresponding to creating the role of the role;
步骤3,在VNFM上进行资源编排,生成ade资源文件;Step 3: Perform resource scheduling on the VNFM to generate an ade resource file.
步骤4,在VNFM上进行软件编排生成实例化虚拟机的自定义参数文件和剧本文件;其中,每个虚拟机的自定义参数文件和剧本文件都是不同的。Step 4: Perform software programming on the VNFM to generate a custom parameter file and a script file of the instantiated virtual machine; wherein each virtual machine has a different custom parameter file and a script file.
步骤5,下发自定义参数文件和剧本文件到ansible对应的role角色目录下;Step 5: Deliver a custom parameter file and a script file to the role role directory corresponding to ansible;
步骤6,生命周期流程发起实例化流程,进行实例化的资源创建;Step 6. The lifecycle process initiates an instantiation process to create an instantiated resource.
步骤7,资源创建成功后,则根据需要安装业务版本的受控节点调用对应的节点的剧本进行业务版本的安装;Step 7: After the resource is successfully created, the controlled version of the service version is installed to invoke the script of the corresponding node to install the service version.
步骤8,Ansible实时返回安装日志。In step 8, Ansible returns to the installation log in real time.
Ansible安装扩容虚拟机中的业务版本,如图11所示,具体包括如下处理:Ansible installs and expands the service version in the VM, as shown in Figure 11, which includes the following processing:
步骤1,VNFM根据弹性伸缩组的软件编排生成剧本文件以及自定义参数文件,其中,自定义参数文件中包括了弹性伸缩共用参数;Step 1: The VNFM generates a script file and a custom parameter file according to the software layout of the elastic scaling group, wherein the custom parameter file includes the elastic scaling common parameter;
步骤2,VNFM触发扩容流程,进行资源创建;Step 2: The VNFM triggers the expansion process and creates resources.
步骤3,资源创建成功后,向OMU发送预处理请求,并附带扩容虚拟机资源信息以及版本路径信息;Step 3: After the resource is successfully created, the pre-processing request is sent to the OMU, and the virtual machine resource information and the version path information are added.
步骤4,OMU将需要生成的一些自定义文件上传至ansible的对应role目录下;Step 4, the OMU uploads some custom files that need to be generated to the corresponding role directory of the ansible;
步骤5,触发Ansible命令进行剧本的安装,Ansible根据剧本配置进行逐个role的安装;Step 5: Trigger the Ansible command to install the script, and Ansible installs the roles one by one according to the script configuration;
步骤6,Ansible实时返回安装日志给VNFM Step 6, Ansible returns the installation log to VNFM in real time.
Ansible升级虚拟机中的业务版本,如图12所示,具体包括如下处理:Ansible upgrades the service version in the VM. As shown in Figure 12, the following operations are included:
步骤1,在VNFM上注册升级包,升级包结构需打包规范; Step 1. Register the upgrade package on the VNFM. The upgrade package structure needs to be packaged.
步骤2,VNFM将升级包下发到ansible上;Step 2: The VNFM sends the upgrade package to the ansible.
步骤3,配置升级所需的参数,VNFM将设置好的参数配置文件下发到ansible上;Step 3: Configure the parameters required for the upgrade, and the VNFM sends the set parameter configuration file to the ansible.
步骤4,生命周期流程触发ansible运行对应的升级剧本,ansible根据升级剧本对需要升级的节点进行升级,并实时返回安装日志给VNFM。Step 4: The life cycle process triggers the corresponding upgrade script of the ansible operation, and the ansible upgrades the node that needs to be upgraded according to the upgrade script, and returns the installation log to the VNFM in real time.
综上所述,借助于本发明实施例的技术方案,通过采用开源的Ansible,并在Ansible版本的基础上开发安装模块,控制安装顺序及反馈安装进度、日志,解决了现有技术中对于同时在大量虚拟机上安装业务版本,连接时间较长且耗资源,在并发情况下,会导致下发版本失败的问题,能够减少网络资源的耗费,快速高效的同时在大量虚拟机上安装业务版本,且成功率高。In summary, by using the technical solution of the embodiment of the present invention, by using the open source Ansible and developing the installation module based on the Ansible version, controlling the installation sequence and feeding back the installation progress and the log, the prior art is solved for the simultaneous The service version is installed on a large number of VMs. The connection is time-consuming and resource-intensive. In the case of concurrency, the version fails to be delivered. This reduces the cost of network resources. The service version is installed on a large number of VMs quickly and efficiently. And the success rate is high.
装置实施例Device embodiment
根据本发明的实施例,提供了一种虚拟机上安装业务版本的装置,设置于虚拟化的网络功能模块管理器VNFM,图13是本发明实施例的虚拟机上安装业务版本的装置的结构示意图,如图13所示,根据本发明实施例的虚拟机上安装业务版本的装置具体包括:实例化模块130、以及安装模块132,以下对本发明实施例的各个模块进行详细的说明。According to an embodiment of the present invention, a device for installing a service version on a virtual machine is provided, which is disposed in a virtualized network function module manager VNFM, and FIG. 13 is a structure of a device for installing a service version on a virtual machine according to an embodiment of the present invention. As shown in FIG. 13 , the apparatus for installing a service version on a virtual machine according to an embodiment of the present invention specifically includes an instantiation module 130 and an installation module 132. The modules of the embodiments of the present invention are described in detail below.
实例化模块130,用于通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将VNFM的产品包发送到运维服务安装模块,其中,VNFM上设置有运维服务;实例化模块130具体用于:The instantiation module 130 is configured to instantiate the virtual machine through the virtualized network function module manager VNFM, and send the VNFM product package to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM; the instantiation module 130 is specifically used to:
在VNFM上注册版本包,将版本包中的产品包发送到运维服务安装模块;在VNFM上进行资源编排和软件编排,并根据软件编排结果和产品包获取各个逻辑设备的软件编排文件,并将软件编排文件下发到运维服务;通过VNFM根据资源编排和版本包中的VNFM实例化时所需要的配置信息文件实例化虚拟机。Register the version package on the VNFM, send the product package in the version package to the operation and maintenance service installation module; perform resource scheduling and software orchestration on the VNFM, and obtain software programming files of each logical device according to the software programming result and the product package, and The software orchestration file is delivered to the operation and maintenance service; the virtual machine is instantiated by the VNFM according to the configuration information file required for the VNFM instantiation in the resource orchestration package and the version package.
安装模块132,用于通过VNFM调用运维服务安装模块获取产品包中的业务版本安装文件和运维服务中的软件编排文件,根据业务版本安装文件和软件编排文件对各个虚拟机进行业务版本的安装。安装模块132具体用于:The installation module 132 is configured to invoke the operation and maintenance service installation module of the VNFM to obtain the service version installation file in the product package and the software orchestration file in the operation and maintenance service, and perform a service version on each virtual machine according to the service version installation file and the software layout file. installation. The installation module 132 is specifically configured to:
调用运维服务安装模块的安装接口,根据运维服务目录中的业务版本安装任务目录下的自定义参数文件和剧本文件,以及产品包中的版本文件及安装信息,对各个虚 拟机进行业务版本的安装。Call the installation interface of the operation and maintenance service installation module, install the custom parameter file and script file under the task directory according to the service version in the operation and maintenance service directory, and the version file and installation information in the product package, for each virtual The machine is installed for the business version.
优选地,上述装置进一步包括:Preferably, the above apparatus further comprises:
检测模块,用于通过VNFM调用运维服务安装模块进行虚拟机的链路检测,并确定所有链路都检测均正常。The detection module is configured to invoke the operation and maintenance service installation module of the VNFM to perform link detection of the virtual machine, and determine that all links are detected normally.
扩容模块,用于通过VNFM根据扩容需要进行软件编排,并生成扩容虚拟机统一的软件编排文件,并将该软件编排文件下发到运维服务;通过VNFM触发扩容流程,进行资源创建,并向网元管理系统OMU发送预处理请求,接收OMU根据预处理请求生成的安装业务版本时需要解析和读取的配置数据,并将配置数据上传到运维服务;调用运维服务安装模块的安装接口,根据扩容虚拟机统一的软件编排文件、配置数据、以及产品包中的业务版本安装文件,对扩容虚拟机进行业务版本的安装。The capacity expansion module is used to perform software orchestration according to the capacity expansion of the VNFM, and generates a unified software orchestration file for the expansion of the virtual machine, and delivers the software orchestration file to the operation and maintenance service; the VNFM triggers the expansion process, creates resources, and The network element management system OMU sends a pre-processing request, receives configuration data that needs to be parsed and read when the OMU installs the service version generated according to the pre-processing request, and uploads the configuration data to the operation and maintenance service; and invokes the installation interface of the operation and maintenance service installation module. The service version of the expansion VM is installed according to the software layout files, configuration data, and service version installation files in the product package.
升级模块,用于在VNFM上注册升级版本包,将升级版本包中的升级产品包发送到运维服务安装模块;通过VNFM根据升级产品包获取需要升级的虚拟机的软件编排文件,根据软件编排文件配置升级所需参数,并将软件编排文件下发到运维服务;调用运维服务安装模块,根据运维服务中的需要升级的虚拟机的软件编排文件,以及升级产品包中的业务版本安装文件,对需要升级的虚拟机进行业务版本的升级。The upgrade module is used to register the upgrade package on the VNFM, and send the upgrade package in the upgrade package to the operation and maintenance service installation module; obtain the software layout file of the virtual machine to be upgraded according to the upgrade product package through the VNFM, and arrange the software according to the software. The file configuration parameters are upgraded, and the software orchestration file is delivered to the operation and maintenance service; the operation and maintenance service installation module is invoked, and the software layout files of the virtual machine that need to be upgraded according to the operation and maintenance service are upgraded, and the service version in the upgrade product package is upgraded. Install the file to upgrade the service version of the VM that needs to be upgraded.
接收模块,用于通过VNFM接收自动运维服务安装模块反馈的业务版本安装进度和/或安装日志。The receiving module is configured to receive, by using the VNFM, a service version installation progress and/or an installation log fed back by the automatic operation and maintenance service installation module.
需要说明的是,在本发明实施例中,产品包具体包括:It should be noted that, in the embodiment of the present invention, the product package specifically includes:
各个逻辑设备的自定义参数文件、版本文件及安装信息、以及剧本文件,其中,自定义参数文件包括:基线公共参数模板、以及逻辑设备安装顺序文件,其中,基线公共参数模板包括:逻辑设备基本信息和逻辑设备公共参数。The custom parameter file, the version file, the installation information, and the script file of each logical device, wherein the custom parameter file includes: a baseline common parameter template, and a logical device installation sequence file, wherein the baseline common parameter template includes: a logical device basic Information and logic device common parameters.
产品包的集成方式为:一个或多个基线包组成一个逻辑设备包,一个或多个逻辑设备包组成一个产包。The product package is integrated in such a way that one or more baseline packages form a logical device package, and one or more logical device packages form a production package.
产品包满足以下打包规则:The package meets the following packaging rules:
1、产品包下的逻辑设备包所包含的各个基线包的版本文件及安装信息保存到产品包下的roles目录下;1. The version files and installation information of each baseline package included in the logical device package under the product package are saved in the roles directory under the product package;
2、产品包下的逻辑设备包所包含的各个基线包的基线公共参数模板保存到产品包下的group_vars目录下;2. The baseline common parameter template of each baseline package included in the logical device package under the product package is saved in the group_vars directory under the product package;
3、产品包下的逻辑设备包所包含的各个基线包的剧本文件保存到产品包下的playbook目录下; 3. The script file of each baseline package included in the logical device package under the product package is saved in the playbook directory under the product package;
4、产品包的逻辑设备安装顺序文件保存到产品包下的device_order.yml目录下;4. The logical device installation sequence file of the product package is saved in the device_order.yml directory under the product package;
5、如果产品包为多产品包,则将产品包执行顺序文件pack_order.yml放在与产品包并列的目录下。5. If the product package is a multi-product package, place the package execution sequence file pack_order.yml in a directory alongside the product package.
优选地,在本发明实施例中,自动运维服务包括:Ansible服务。Preferably, in the embodiment of the present invention, the automatic operation and maintenance service includes: an Ansible service.
下面以Ansible服务为例,对本发明实施例的上述技术方案进行说明。The above technical solution of the embodiment of the present invention will be described below by taking the Ansible service as an example.
图14是本发明实施例的虚拟机上安装业务版本的装置的结构示意图,如图14所示,根据本发明实施例的NFV构架下在虚拟机上安装业务版本的装置包括:部署模块140、实例化模块142、以及调用模块144。FIG. 14 is a schematic structural diagram of an apparatus for installing a service version on a virtual machine according to an embodiment of the present invention. As shown in FIG. 14, the apparatus for installing a service version on a virtual machine in an NFV framework according to an embodiment of the present invention includes: a deployment module 140, The instantiation module 142, and the calling module 144.
部署模块140,用于在虚拟化的网络功能模块管理器VNFM上部署Ansible服务;a deployment module 140, configured to deploy an Ansible service on the virtualized network function module manager VNFM;
实例化模块142,用于通过VNFM进行虚拟机的实例化;所述实例化模块122具体用于:The instantiation module 142 is configured to perform instantiation of the virtual machine by using the VNFM; the instantiation module 122 is specifically configured to:
在VNFM上注册版本包,其中,所述版本包包括:产品包、VNFM实例化时所需要的配置信息文件;Registering a version package on the VNFM, where the version package includes: a product package, a configuration information file required for VNFM instantiation;
将所述产品包发送到Ansible安装模块,并通过Ansible安装模块在Ansible目录中创建业务版本安装任务;Send the product package to the Ansible installation module, and create a business version installation task in the Ansible directory through the Ansible installation module;
在VNFM上进行资源编排,生成ade资源文件,并在VNFM上进行软件编排,根据所述产品包获取各个逻辑设备的自定义参数文件和剧本文件;Perform resource scheduling on the VNFM, generate an ade resource file, and perform software orchestration on the VNFM, and obtain a customized parameter file and a script file of each logical device according to the product package;
将所述自定义参数文件和所述剧本文件下发到Ansible对应的业务版本安装任务的目录下;And sending the customized parameter file and the script file to a directory of a service version installation task corresponding to Ansible;
根据ade资源文件和所述VNFM实例化时所需要的配置信息文件实例化虚拟机。The virtual machine is instantiated according to the ade resource file and the configuration information file required when the VNFM is instantiated.
调用模块144,用于通过VNFM调用Ansible安装模块的链路检测接口进行虚拟机的链路检测,在所有链路都检测正常的情况下,调用Ansible安装模块的安装接口根据产品包对各个虚拟机进行业务版本的安装;所述调用模块144具体用于:The calling module 144 is configured to perform link detection of the virtual machine by using the link detection interface of the Ansible installation module by using the VNFM. When all links are detected to be normal, the installation interface of the Ansible installation module is invoked according to the product package for each virtual machine. Performing installation of the service version; the calling module 144 is specifically configured to:
调用Ansible安装模块的安装接口,根据Ansible目录中的业务版本安装任务目录下的所述自定义参数文件和所述剧本文件,以及所述产品包中的版本文件及安装信息,对各个虚拟机进行业务版本的安装。Calling the installation interface of the Ansible installation module, installing the custom parameter file and the script file in the task directory according to the service version in the Ansible directory, and the version file and installation information in the product package, and performing virtual machine on each virtual machine. Installation of the business version.
优选地,本发明实施例的装置还可以包括:接收模块,用于通过VNFM接收Ansible安装模块反馈的业务版本安装进度和/或安装日志。Preferably, the apparatus of the embodiment of the present invention may further include: a receiving module, configured to receive, by using the VNFM, a service version installation progress and/or an installation log fed back by the Ansible installation module.
优选地,在本发明实施例中,上述装置进一步包括:Preferably, in the embodiment of the present invention, the foregoing apparatus further includes:
扩容模块,用于根据扩容需要进行软件编排,并生成扩容虚拟机统一的剧本文件 和自定义参数文件,并将所述自定义参数文件和所述剧本文件下发到Ansible对应的业务版本安装任务的目录下;触发扩容流程,进行资源创建,在资源创建成功后,向网元管理系统OMU发送预处理请求;接收OMU根据预处理请求生成的安装业务版本时需要解析和读取的配置数据,并将所述配置数据上传到Ansible对应的业务版本安装任务的目录下;调用Ansible安装模块的安装接口,根据Ansible目录中的业务版本安装任务目录下的所述自定义参数文件和所述剧本文件、所述配置数据、以及所述产品包中的版本文件及安装信息,对扩容虚拟机进行业务版本的安装;通过VNFM接收Ansible安装模块反馈的业务版本安装进度和/或安装日志。The expansion module is used to perform software orchestration according to the capacity expansion and generate a script file for expanding the virtual machine. And the custom parameter file, and the customized parameter file and the script file are sent to the directory of the service version installation task corresponding to the Ansible; the expansion process is triggered, the resource is created, and after the resource is successfully created, the network element is created. The management system OMU sends a pre-processing request; receives the configuration data that needs to be parsed and read when the OMU generates the service version generated according to the pre-processing request, and uploads the configuration data to the directory of the service version installation task corresponding to the Ansible; The installation interface of the installation module is installed according to the custom parameter file and the script file, the configuration data, and the version file and installation information in the product package in the task directory of the service version in the Ansible directory. The virtual machine performs the installation of the service version; the VNFM receives the service version installation progress and/or installation log fed back by the Ansible installation module.
升级模块,用于在VNFM上注册升级版本包,其中,所述升级版本包包括:升级产品包、以及VNFM升级时所需要的配置信息;将所述升级产品包发送到Ansible安装模块,并通过Ansible安装模块在Ansible目录中创建业务版本安装任务;根据所述升级产品包获取需要升级的虚拟机的自定义参数文件和升级剧本文件,并根据所述自定义参数文件配置升级所需参数。将所述自定义参数文件和所述升级剧本文件下发到Ansible对应的业务版本安装任务的目录下;调用Ansible安装模块的安装接口,根据Ansible目录中的业务版本安装任务目录下的所述自定义参数文件和所述升级剧本文件,以及所述产品包中的版本文件及安装信息,对需要升级的虚拟机进行业务版本的升级;通过VNFM接收Ansible安装模块反馈的业务版本安装进度和/或安装日志。The upgrade module is configured to register an upgrade version package on the VNFM, where the upgrade version package includes: an upgrade product package, and configuration information required for the VNFM upgrade; sending the upgrade product package to the Ansible installation module, and The Ansible installation module creates a service version installation task in the Ansible directory; obtains a custom parameter file and an upgrade script file of the virtual machine to be upgraded according to the upgrade product package, and configures parameters required for the upgrade according to the customized parameter file. And sending the customized parameter file and the upgrade script file to the directory of the service version installation task corresponding to Ansible; calling the installation interface of the Ansible installation module, and installing the task directory according to the service version in the Ansible directory. Defining the parameter file and the upgrade script file, and the version file and the installation information in the product package, and upgrading the service version of the virtual machine to be upgraded; receiving the service version installation progress and/or feedback of the Ansible installation module through the VNFM. Installation log.
综上所述,本发明实施例通过采用开源的Ansible,并在Ansible版本的基础上开发安装模块,控制安装顺序及反馈安装进度、日志,解决了现有技术中对于同时在大量虚拟机上安装业务版本,连接时间较长且耗资源,在并发情况下,会导致下发版本失败的问题,能够减少网络资源的耗费,快速高效的同时在大量虚拟机上安装业务版本,且成功率高。In summary, the embodiment of the present invention solves the problem of installing the module on the basis of an Ansible and developing the installation module on the basis of the Ansible version, controlling the installation sequence and feeding back the installation progress and logs, and solving the problem in the prior art for installing on a large number of virtual machines at the same time. The service version has a long connection time and consumes resources. In the case of concurrency, the issue of the failed version is reduced. The network resources are reduced. The service version is installed on a large number of VMs quickly and efficiently. The success rate is high.
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。It is apparent that those skilled in the art can make various modifications and variations to the invention without departing from the spirit and scope of the invention. Thus, it is intended that the present invention cover the modifications and modifications of the invention
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述 是为了披露本发明的最佳实施方式。The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general purpose systems can also be used with the teaching based on the teachings herein. The structure required to construct such a system is apparent from the above description. Moreover, the invention is not directed to any particular programming language. It will be appreciated that the teachings of the invention described herein can be implemented in a variety of programming languages, and the description of the particular language above is described. It is intended to disclose the preferred embodiment of the invention.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. However, it is understood that the embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of the description.
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, the various features of the invention are sometimes grouped together into a single embodiment, in the above description of the exemplary embodiments of the invention, Figure, or a description of it. However, the method disclosed is not to be interpreted as reflecting the intention that the claimed invention requires more features than those recited in the claims. Rather, as the following claims reflect, inventive aspects reside in less than all features of the single embodiments disclosed herein. Therefore, the claims following the specific embodiments are hereby explicitly incorporated into the embodiments, and each of the claims as a separate embodiment of the invention.
本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art will appreciate that the modules in the client in the embodiment can be adaptively changed and placed in one or more clients different from the embodiment. The modules in the embodiments can be combined into one module, and further they can be divided into a plurality of sub-modules or sub-units or sub-components. In addition to such features and/or at least some of the processes or units being mutually exclusive, any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the client are combined. Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features that are included in other embodiments and not in other features, combinations of features of different embodiments are intended to be within the scope of the present invention. Different embodiments are formed and formed. For example, in the following claims, any one of the claimed embodiments can be used in any combination.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在 载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or digital signal processor (DSP) may be used in practice to implement some or all of the functionality of some or all of the components loaded with the ordered web address in accordance with an embodiment of the present invention. . The invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein. Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals can be downloaded from the Internet website or The carrier signal is provided on, or provided in any other form.
例如,本发明的实施例还提供了一种虚拟机上安装业务版本的装置,包括:For example, an embodiment of the present invention further provides an apparatus for installing a service version on a virtual machine, including:
处理器;processor;
用于存储处理器可执行指令的存储器;a memory for storing processor executable instructions;
其中,所述处理器被配置为:Wherein the processor is configured to:
通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将所述VNFM的产品包发送到运维服务安装模块,其中,所述VNFM上设置有运维服务;The virtual machine is instantiated by the virtualized network function module manager VNFM, and the product package of the VNFM is sent to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM;
通过所述VNFM调用运维服务安装模块获取所述产品包中的业务版本安装文件和所述运维服务中的软件编排文件,根据所述业务版本安装文件和所述软件编排文件对各个虚拟机进行业务版本的安装。And acquiring, by the VNFM, an operation and maintenance service installation module, a service version installation file in the product package, and a software orchestration file in the operation and maintenance service, and the virtual machine according to the service version installation file and the software layout file. Perform the installation of the business version.
该处理器还可以被配置以执行上述方法中的其他步骤。The processor can also be configured to perform other steps in the above methods.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。It is to be noted that the above-described embodiments are illustrative of the invention and are not intended to be limiting, and that the invention may be devised without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as a limitation. The word "comprising" does not exclude the presence of the elements or steps that are not recited in the claims. The word "a" or "an" The invention can be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means can be embodied by the same hardware item. The use of the words first, second, and third does not indicate any order. These words can be interpreted as names.
工业实用性Industrial applicability
本申请的方法和装置可应用于移动通讯领域中。通过采用自动运维服务,并在自动运维服务的基础上开发安装模块,控制安装顺序及反馈安装进度、日志,解决了现有技术中对于同时在大量虚拟机上安装业务版本,连接时间较长且耗资源,在并发情况下,会导致下发版本失败的问题,能够减少网络资源的耗费,快速高效的同时在大量虚拟机上安装业务版本,且成功率高。 The method and apparatus of the present application are applicable to the field of mobile communications. By adopting the automatic operation and maintenance service and developing the installation module based on the automatic operation and maintenance service, the installation sequence and the feedback of the installation progress and the log are controlled, and the installation time is improved in the prior art for installing the service version on a large number of virtual machines at the same time. Long and resource-intensive, in the case of concurrency, it will cause the problem of the failed version, reduce the cost of network resources, and install the service version on a large number of virtual machines at the same time quickly and efficiently, with a high success rate.

Claims (14)

  1. 一种虚拟机上安装业务版本的方法,其中,包括:A method for installing a service version on a virtual machine, including:
    通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将所述VNFM的产品包发送到运维服务安装模块,其中,所述VNFM上设置有运维服务;The virtual machine is instantiated by the virtualized network function module manager VNFM, and the product package of the VNFM is sent to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM;
    通过所述VNFM调用运维服务安装模块获取所述产品包中的业务版本安装文件和所述运维服务中的软件编排文件,根据所述业务版本安装文件和所述软件编排文件对各个虚拟机进行业务版本的安装。And acquiring, by the VNFM, an operation and maintenance service installation module, a service version installation file in the product package, and a software orchestration file in the operation and maintenance service, and the virtual machine according to the service version installation file and the software layout file. Perform the installation of the business version.
  2. 如权利要求1所述的方法,其中,通过VNFM进行虚拟机的实例化之后,所述方法进一步包括:The method of claim 1, wherein after the instantiating the virtual machine by the VNFM, the method further comprises:
    通过所述VNFM调用运维服务安装模块进行所述虚拟机的链路检测,并确定所有链路都检测均正常。The operation and maintenance service installation module is invoked by the VNFM to perform link detection of the virtual machine, and it is determined that all links are detected normally.
  3. 如权利要求1所述的方法,其中,通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将所述VNFM的产品包发送到运维服务安装模块包括:The method of claim 1, wherein the virtual machine is instantiated by the virtualized network function module manager VNFM, and the sending the VNFM product package to the operation and maintenance service installation module comprises:
    在所述VNFM上注册版本包,将所述版本包中的产品包发送到运维服务安装模块;Registering a version package on the VNFM, and sending the product package in the version package to the operation and maintenance service installation module;
    在所述VNFM上进行资源编排和软件编排,并根据所述软件编排结果和所述产品包获取各个逻辑设备的软件编排文件,并将所述软件编排文件下发到所述运维服务;Performing resource scheduling and software orchestration on the VNFM, and acquiring a software orchestration file of each logical device according to the software programming result and the product package, and delivering the software programming file to the operation and maintenance service;
    通过所述VNFM根据资源编排和所述版本包中的VNFM实例化时所需要的配置信息文件实例化虚拟机。The virtual machine is instantiated by the VNFM according to a resource configuration and a configuration information file required for instantiation of the VNFM in the version package.
  4. 如权利要求3所述的方法,其中,根据产品包,通过所述VNFM调用运维服务安装模块获取所述产品包中的业务版本安装文件和所述运维服务中的软件编排文件,根据所述业务版本安装文件和所述软件编排文件对各个虚拟机进行业务版本的安装包括:The method of claim 3, wherein, according to the product package, the operation and maintenance service installation module is invoked by the VNFM to obtain a service version installation file in the product package and a software layout file in the operation and maintenance service, according to the method. The business version installation file and the software orchestration file are installed on the service version of each virtual machine, including:
    调用所述运维服务安装模块的安装接口,根据运维服务目录中的业务版本安装任务目录下的自定义参数文件和剧本文件,以及所述产品包中的版本文件及安装信息,对各个虚拟机进行业务版本的安装。Calling the installation interface of the operation and maintenance service installation module, and installing the custom parameter file and the script file in the task directory according to the service version in the operation and maintenance service directory, and the version file and installation information in the product package, for each virtual The machine is installed for the business version.
  5. 如权利要求1所述的方法,其中,所述方法还包括:The method of claim 1 wherein the method further comprises:
    通过所述VNFM根据扩容需要进行软件编排,并生成扩容虚拟机统一的软件编排文件,并将该软件编排文件下发到运维服务; The software is arranged according to the capacity of the VNFM, and a unified software orchestration file of the virtual machine is generated, and the software orchestration file is delivered to the operation and maintenance service;
    通过所述VNFM触发扩容流程,进行资源创建,并向网元管理系统OMU发送预处理请求,接收所述OMU根据预处理请求生成的安装业务版本时需要解析和读取的配置数据,并将所述配置数据上传到运维服务;The VNFM triggers the capacity expansion process, creates a resource, and sends a pre-processing request to the network element management system OMU, and receives configuration data that needs to be parsed and read when the OMU installs the service version generated according to the pre-processing request, and The configuration data is uploaded to the operation and maintenance service;
    调用所述运维服务安装模块的安装接口,根据扩容虚拟机统一的软件编排文件、所述配置数据、以及所述产品包中的业务版本安装文件,对扩容虚拟机进行业务版本的安装。The installation interface of the operation and maintenance service installation module is invoked, and the business version of the expansion virtual machine is installed according to the software layout file, the configuration data, and the service version installation file in the product package.
  6. 如权利要求1所述的方法,其中,所述方法还包括:The method of claim 1 wherein the method further comprises:
    在所述VNFM上注册升级版本包,将所述升级版本包中的升级产品包发送到运维服务安装模块;Registering an upgrade version package on the VNFM, and sending the upgrade product package in the upgrade version package to the operation and maintenance service installation module;
    通过所述VNFM根据所述升级产品包获取需要升级的虚拟机的软件编排文件,根据所述软件编排文件配置升级所需参数,并将所述软件编排文件下发到所述运维服务;Obtaining, by the VNFM, the software orchestration file of the virtual machine that needs to be upgraded according to the upgrade product package, configuring the required parameters for the upgrade according to the software orchestration file, and delivering the software orchestration file to the operation and maintenance service;
    调用所述运维服务安装模块,根据所述运维服务中的需要升级的虚拟机的所述软件编排文件,以及所述升级产品包中的业务版本安装文件,对需要升级的虚拟机进行业务版本的升级。Invoking the operation and maintenance service installation module, performing the service on the virtual machine to be upgraded according to the software orchestration file of the virtual machine to be upgraded in the operation and maintenance service, and the service version installation file in the upgrade product package Version upgrade.
  7. 如权利要求1至6中任一项所述的方法,其中,所述产品包包括:The method of any of claims 1 to 6, wherein the product package comprises:
    各个逻辑设备的自定义参数文件、版本文件及安装信息、以及剧本文件,其中,所述自定义参数文件包括:基线公共参数模板、以及逻辑设备安装顺序文件,其中,所述基线公共参数模板包括:逻辑设备基本信息和逻辑设备公共参数。a custom parameter file, a version file, and installation information of each logical device, and a script file, where the custom parameter file includes: a baseline common parameter template, and a logical device installation sequence file, wherein the baseline common parameter template includes : Logical device basic information and logical device common parameters.
  8. 如权利要求7所述的方法,其中,所述产品包的集成方式为:一个或多个基线包组成一个逻辑设备包,一个或多个逻辑设备包组成一个产包。The method of claim 7 wherein said product package is integrated by one or more baseline packages forming a logical device package and one or more logical device packages forming a production package.
  9. 如权利要求7所述的方法,其中,所述产品包满足以下打包规则:The method of claim 7 wherein said product package satisfies the following packaging rules:
    所述产品包下的逻辑设备包所包含的各个基线包的版本文件及安装信息保存到产品包下的roles目录下;The version files and installation information of each baseline package included in the logical device package under the product package are saved in the roles directory under the product package;
    所述产品包下的逻辑设备包所包含的各个基线包的基线公共参数模板保存到产品包下的group_vars目录下;The baseline common parameter template of each baseline package included in the logical device package under the product package is saved in the group_vars directory under the product package;
    所述产品包下的逻辑设备包所包含的各个基线包的剧本文件保存到产品包下的playbook目录下;The script file of each baseline package included in the logical device package under the product package is saved in the playbook directory under the product package;
    所述产品包的逻辑设备安装顺序文件保存到产品包下的device_order.yml目录下; The logical device installation order file of the product package is saved in the device_order.yml directory under the product package;
    如果所述产品包为多产品包,则将产品包执行顺序文件pack_order.yml放在与产品包并列的目录下。If the product package is a multi-product package, the package execution order file pack_order.yml is placed in a directory alongside the product package.
  10. 如权利要1所述的方法,其中,所述方法进一步包括:The method of claim 1 wherein the method further comprises:
    通过VNFM接收自动运维服务安装模块反馈的业务版本安装进度和/或安装日志。Receive the service version installation progress and/or installation log fed back by the automatic operation and maintenance service installation module through the VNFM.
  11. 如权利要求1所述的方法,其中,所述自动运维服务包括:Ansible服务。The method of claim 1 wherein said automated operation and maintenance service comprises: Ansible service.
  12. 一种虚拟机上安装业务版本的装置,其中,设置于虚拟化的网络功能模块管理器VNFM,所述装置包括:A device for installing a service version on a virtual machine, where the device is disposed in a virtualized network function module manager VNFM, and the device includes:
    实例化模块,设置为通过虚拟化的网络功能模块管理器VNFM进行虚拟机的实例化,将所述VNFM的产品包发送到运维服务安装模块,其中,所述VNFM上设置有运维服务;The instantiating module is configured to perform the instantiation of the virtual machine by using the virtualized network function module manager VNFM, and send the product package of the VNFM to the operation and maintenance service installation module, where the operation and maintenance service is set on the VNFM;
    安装模块,设置为通过所述VNFM调用运维服务安装模块获取所述产品包中的业务版本安装文件和所述运维服务中的软件编排文件,根据所述业务版本安装文件和所述软件编排文件对各个虚拟机进行业务版本的安装。The installation module is configured to acquire, by using the VNFM, an operation and maintenance service installation module, a service version installation file in the product package, and a software orchestration file in the operation and maintenance service, according to the service version installation file and the software arrangement The file is installed for each virtual machine.
  13. 一种虚拟机上安装业务版本的装置,包括:A device for installing a service version on a virtual machine, comprising:
    处理器;processor;
    用于存储处理器可执行指令的存储器;a memory for storing processor executable instructions;
    其中,所述处理器被配置为执行根据权利要求1至11中任一项所述的方法中的步骤。The processor is configured to perform the steps in the method according to any one of claims 1 to 11.
  14. 一种计算机可读存储介质,用于存储程序,其中所述程序被执行时使得虚拟机上安装业务版本的装置执行如权利要求1到11中任一项所述的方法中的步骤。 A computer readable storage medium for storing a program, wherein the program is executed to cause a device on a virtual machine to install a service version to perform the steps in the method of any one of claims 1 to 11.
PCT/CN2017/083977 2016-05-26 2017-05-11 Method and device for installing service version on virtual machine WO2017202211A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610356730.4A CN107436775A (en) 2016-05-26 2016-05-26 The method and device of business release is installed on virtual machine
CN201610356730.4 2016-05-26

Publications (1)

Publication Number Publication Date
WO2017202211A1 true WO2017202211A1 (en) 2017-11-30

Family

ID=60412717

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/083977 WO2017202211A1 (en) 2016-05-26 2017-05-11 Method and device for installing service version on virtual machine

Country Status (2)

Country Link
CN (1) CN107436775A (en)
WO (1) WO2017202211A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324356A (en) * 2018-12-17 2020-06-23 北京数安鑫云信息技术有限公司 Software automation deployment method and system
CN111796875A (en) * 2020-06-29 2020-10-20 苏州好玩友网络科技有限公司 Host initialization method, device, system, equipment and storage medium
CN112711428A (en) * 2021-01-18 2021-04-27 浪潮云信息技术股份公司 Dynamic deployment method and system based on ANSIBLE

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268263A (en) * 2017-12-27 2018-07-10 曙光信息产业(北京)有限公司 A kind of method to heterogeneous system application deployment software
US11194609B1 (en) 2018-05-23 2021-12-07 Open Invention Network Llc Onboarding VNFs which include VNFCs that are composed of independently manageable software modules
CN109710524A (en) * 2018-12-19 2019-05-03 上海华兴数字科技有限公司 A kind of automatic test approach, system and computer storage medium
CN112242918B (en) * 2019-07-19 2023-03-24 中兴通讯股份有限公司 VNFD multi-version compatible processing method, device, equipment and storage medium
CN111857775A (en) * 2020-07-02 2020-10-30 中移(杭州)信息技术有限公司 Network element upgrading method and device, electronic equipment and storage medium
CN112162877B (en) * 2020-09-27 2023-08-08 北京中数智汇科技股份有限公司 Centralized log management system and method based on automation
CN113542034B (en) * 2021-07-28 2024-03-19 山石网科通信技术股份有限公司 Network element information processing system, network element management method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253866A (en) * 2014-09-20 2014-12-31 华为技术有限公司 Software deployment method and system of virtual network function network element and relevant equipment
CN104410672A (en) * 2014-11-12 2015-03-11 华为技术有限公司 Method of upgrading network function virtualization application as well as method and device for forwarding business
CN105245371A (en) * 2015-10-12 2016-01-13 浪潮软件集团有限公司 Automatic deployment system and method based on ansable
US20160098288A1 (en) * 2014-10-06 2016-04-07 Vmware, Inc. Building virtual appliances

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253866A (en) * 2014-09-20 2014-12-31 华为技术有限公司 Software deployment method and system of virtual network function network element and relevant equipment
US20160098288A1 (en) * 2014-10-06 2016-04-07 Vmware, Inc. Building virtual appliances
CN104410672A (en) * 2014-11-12 2015-03-11 华为技术有限公司 Method of upgrading network function virtualization application as well as method and device for forwarding business
CN105245371A (en) * 2015-10-12 2016-01-13 浪潮软件集团有限公司 Automatic deployment system and method based on ansable

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324356A (en) * 2018-12-17 2020-06-23 北京数安鑫云信息技术有限公司 Software automation deployment method and system
CN111796875A (en) * 2020-06-29 2020-10-20 苏州好玩友网络科技有限公司 Host initialization method, device, system, equipment and storage medium
CN112711428A (en) * 2021-01-18 2021-04-27 浪潮云信息技术股份公司 Dynamic deployment method and system based on ANSIBLE
CN112711428B (en) * 2021-01-18 2024-04-12 浪潮云信息技术股份公司 Dynamic deployment method and system based on ANSIBLE

Also Published As

Publication number Publication date
CN107436775A (en) 2017-12-05

Similar Documents

Publication Publication Date Title
WO2017202211A1 (en) Method and device for installing service version on virtual machine
US10860339B2 (en) Autonomous creation of new microservices and modification of existing microservices
US11588675B2 (en) Systems and methods for selectively implementing services on virtual machines and containers
US9032373B1 (en) End to end testing automation and parallel test execution
US9710259B2 (en) System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
US20190149420A1 (en) System and method for automated system management
US11941452B2 (en) System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US9569198B2 (en) Release lifecycle management system for multi-node application
US8819202B1 (en) Service configuration and deployment engine for provisioning automation
US10003672B2 (en) Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
US8762986B2 (en) Advanced packaging and deployment of virtual appliances
US8464246B2 (en) Automation of mainframe software deployment
CN103793259B (en) Virtual device generating and deploying method
US20130232497A1 (en) Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
US11403147B2 (en) Methods and apparatus to improve cloud management
US20210392039A1 (en) Automated Initialization Of Bare Metal Servers
EP4066110A1 (en) Automated management of machine images
EP3230865B1 (en) Recovery execution system using programatic generation of actionable workflows
US11539612B2 (en) Testing virtualized network functions
US10073689B2 (en) Managing application lifecycles within a federation of distributed software applications
US20230289250A1 (en) Operating System for Collecting and Transferring Usage Data
US11269615B2 (en) Automatically orchestrating deployments of software-defined storage stacks
Lu et al. An orchestration framework for a global multi-cloud
Solayman et al. Seamless Integration of DevOps Tools for Provisioning Automation of the IoT Application on Multi-Infrastructures
US20230393825A1 (en) Automated software deployment techniques

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17802057

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17802057

Country of ref document: EP

Kind code of ref document: A1