diff --git a/translation-projects/README-optimization/optimized-README/DyscheOS-utils.README.en.md b/translation-projects/README-optimization/optimized-README/DyscheOS-utils.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..8a4c48c41a9bd2a991ffa8c83d0fad124ef65a56 --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/DyscheOS-utils.README.en.md @@ -0,0 +1,33 @@ +# DyscheOS-utils + +#### Description +This repo is about misc tools regard to userspace part of the Dysche solution. + +Note, the master branch may not contain the latest and most complete dev toolset. See the branch list for more comprehensive timely information. + +#### Software Architecture +The overall architecture of Dysche is originated from Linux AMP(Asychronous Multi-Processing) architecture. + +In general, there are two parts in Dysche arch: Linux kernel part and the Linux userspace part. In this repo, we'll focus on userspace part. + +For Dysche userspace design, there are several componets logically: + +- A tool to handle APP-OS images, load and verify the image. +- Interface provided by Dysche kernel part, and run the APP-OS by interacting with it. +- A Linux resident system service that provides online functionality extensions such as device emulation, maintenance, user management by interacting with Dysche kernel part. + +#### Instructions + +Refer to README.md file of each sub-dir in this repo please. + +#### Contribution + +1. Fork the repository +2. Create a branch +3. Commit your changes +4. Create Pull Request + + + +#### Acknowledgements +Thanks. \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/EulerRobot.README.en.md b/translation-projects/README-optimization/optimized-README/EulerRobot.README.en.md index 3a5540cd88a53444122506664bba901907a64b0e..31b5d7b93b25237148241222d36dba376ac461d2 100644 --- a/translation-projects/README-optimization/optimized-README/EulerRobot.README.en.md +++ b/translation-projects/README-optimization/optimized-README/EulerRobot.README.en.md @@ -1,84 +1,88 @@ -# EulerRobot - -#### Introduction - -A virtualized automated test project, integrated compilation test, UT test, smoke test, Avocado-VT test,etc. - -#### Description - -- **Service for virtualized components developer** - - Developers can conduct compiling of virtualized components' own branch code, address sanitizing compiling, UT test (including qemu-ut, libvirt-ut, kvm-unit-test), static check and other verifications. Now, qemu and libvirt are available, and can be used to connect to openEuler and upstream. - -- **Service for smoke testing and integration testing of virtualized components** - - You can run smoke testing and integration testing with designated versions, and replace qemu in the running environment with the address sanitization version delivered with openEuler or upstream qemu. - -- **Service for performance testing of virtualized components** - - It provides virtualized benchmark performance testing, including cpu, mem and io. It also provides a performance test model for openEuler virtualization scenarios for a fast performance verification of a designated version. - -- **Service for other DFX testing** - - Subsequently, there will be more services for testing, including UZZ, semantic search and reliability. - -#### Software Architecture - -Based on various virtualized test suits and testing capability, EulerRobot can be conneted to compass-ci in order to provide a virtualized platform for users to verify services.![EulerRobot架构](https://gitee.com/openeuler/EulerRobot/raw/master/docs/design/EulerRobot-architecture.png) - -Test suite sites of relevant virtualization platforms are as follows: - - - - - - - - - -#### Installation - -1. With a compass-ci account, users should be qualified with submitting tasks via compass-ci. For more specific, please refer to . -2. Users should downloads EulerRobot repository and run scrip/autopatch.sh to copy the files to lkp-tests directory. - -#### Instructions - -1. Service for developers - - jobs/openEuler-qemu.yaml - this task provides qemu version compilation, UT test and cppcheck static check. It also supports the configuration of address sanitization compilation, and the compilation of different branches integrated by designated upstream and openEuler. - - jobs/openEuler-libvirt.yaml - this task provides libvirt version compilation and UT test. It also supports the compilation of different branches integrated by upstream and openEuler. - -2. Service for smoking and integration test - - jobs/virttest-depends.yaml - this task needs to be performed before virttest_at/virttest_st. It also builds a dep package of rpm that the test framework and test cases rely on for proper operation. - - jobs/virttest-makepkg.yaml - this task needs to be performed before virttest_at/virttest_st. It also builds a pkg package that runs before test framework deployment and test case deployment. It supports the building of qemu address sanitization version. - - jobs/virttest_at.yaml - this task runs virtualized smoking test in a single-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. - - jobs/virttest_at_2hosts.yaml - this task runs virtualization test in double-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. - - jobs/virttest_st.yaml - this task runs virtualization integrated test in a single-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. - - jobs/virttest_st_2hosts.yaml - this task runs virtualization integrated test in a double-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. - -3. service for performance test - - To be supplemented. - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - -#### Gitee Feature - -1. You can use Readme_XXX.md to support different languages, such as Readme_en.md, Readme_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee +# EulerRobot + +#### Introduction + +A virtualized automated test project, integrated compilation test, UT test, smoke test, Avocado-VT test,etc. + +#### Description + +- **Service for virtualized components developer** + + Developers can conduct compiling of virtualized components' own branch code, address sanitizing compiling, UT test (including qemu-ut, libvirt-ut, kvm-unit-test), static check and other verifications. Currently, qemu and libvirt are available, and can be used to connect to openEuler and upstream. + +- **Service for smoke testing and integration testing of virtualized components** + + You can run smoke testing and integration testing with designated versions, and replace qemu in the running environment with the address sanitization version delivered with openEuler or upstream qemu. + +- **Service for performance testing of virtualized components** + + It provides virtualized benchmark performance testing, including cpu, mem and io. It also provides a performance test model for openEuler virtualization scenarios for a fast performance verification of a designated version. + +- **Service for other DFX testing** + + More testing services will be provided later, including FUZZ, semantic search, reliability, etc. + +#### Software Architecture + +Based on various virtualized test suits and testing capability, EulerRobot can integrate with compass-ci to provide users with a virtualized platform to verify services.![EulerRobot架构](https://gitee.com/openeuler/EulerRobot/raw/master/docs/design/EulerRobot-architecture.png) + +Test suite sites of relevant virtualization platforms are as follows: + + + + + + + + + +#### Installation + +1. With a compass-ci account, users should be qualified with submitting tasks via compass-ci. For more specific, please refer to . +2. Users should downloads EulerRobot repository and run scrip/autopatch.sh to copy the files to lkp-tests directory. + +#### Instructions + +For more specific, see compass-CI guide https://gitee.com/wu_fengguang/compass-ci. + +Here is a brief overview of the main serviceability capabilities currently provided. + +1. Service for developers + + jobs/openEuler-qemu.yaml - this task provides qemu version compilation, UT test and cppcheck static check. It also supports the configuration of address sanitization compilation, and the compilation of different branches integrated by designated upstream and openEuler. + + jobs/openEuler-libvirt.yaml - this task provides libvirt version compilation and UT test. It also supports the compilation of different branches integrated by upstream and openEuler. + +2. Service for smoking and integration test + + jobs/virttest-depends.yaml - this task needs to be performed before virttest_at/virttest_st. It builds a dep package of rpm that the test framework and test cases rely on for proper operation. + + jobs/virttest-makepkg.yaml - this task needs to be performed before virttest_at/virttest_st. It builds a pkg package that runs before test framework deployment and test case deployment. It supports the building of qemu address sanitization version. + + jobs/virttest_at.yaml - this task runs virtualized smoking test in a single-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. + + jobs/virttest_at_2hosts.yaml - this task runs virtualization test in double-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. + + jobs/virttest_st.yaml - this task runs virtualization integrated test in a single-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. + + jobs/virttest_st_2hosts.yaml - this task runs virtualization integrated test in a double-physical host test environment. It also supports the configuration of address sanitization version running on openEuler integrated qemu and upstream qemu. + +3. service for performance test + + To be supplemented. + +#### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request + +#### Gitee Feature + +1. You can use Readme_XXX.md to support different languages, such as Readme_en.md, Readme_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee 6. The most popular members \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/G11N.README.en.md b/translation-projects/README-optimization/optimized-README/G11N.README.en.md index e7fd7033d1fec1d4cee747f3b88490e9d0f3a251..4768c3fb77b0c1a12b1b1d7831dd80d47162cf77 100644 --- a/translation-projects/README-optimization/optimized-README/G11N.README.en.md +++ b/translation-projects/README-optimization/optimized-README/G11N.README.en.md @@ -1,93 +1,93 @@ - - -## What is G11N - -This is a place for open discussions, from anywhere in the world. Here you may find the latest industry insights and news, tech and globalization blogs, and learning materials regarding openEuler and its globalization process. - -We are dedicated to helping OS and tech buffs learn more about openEuler and OS trends, and we welcome anyone who is interested in our project to join the G11N SIG and share fun stuff together. - -## What we can provide - -### Industry insights - -To start with, members from this SIG will provide developers with up-to-date info and knowledge in the industry by translating carefully selected articles from major English tech websites and well-known research journals. - -### Tech and globalization blogs - -You can also find blogs in G11N. They are divided into the following two categories: Tech and Case Study. The tech blogs are written in English based on the Chinese outline provided by members of other SIGs while case studies are adapted from customer cases. - -### Learning materials - - To further support translation teams and help openEuler developers lower the barrier for contributions, the SIG will also open several columns regarding: - -- OS textbooks -- openEuler training materials -- Globalization principles -- Cultural taboos -- OS courses -- Standard localization processes -- Tips for website globalization tests - - - -## What you can do - -### Discuss with tech gurus - -In order to develop a more prosperous openEuler ecosystem, we also welcome suggestions on other sources of news, industry insights, and analyst reports. Please feel free to star, leave comments, or submit issues. - -### Share your knowledge - -If you are willing to share your own stories and ideas about openEuler, or tips on globalization, you can also contact the SIG members to submit your work. - -### Improve openEuler website - -Three language versions (Chinese, English, and Russian) are currently available for [openEuler official website](https://openeuler.org/en/). We are constantly optimizing its content to provide better user experience. You're welcomed to give suggestions to help us get better. - - - -## How to use - -If you are interested in providing your native language support in expanding openEuler global influence, please check for and join an existing translation team or create a new one. Please follow the *Translation Team Creation Guide* to file an application. New applications will be thoroughly considered before acceptance. - -In addition, feel free to join the SIG meeting and discuss the globalization insights with us. You can find the meeting minutes and all related materials in the *Documentation* folder. - -SIG meetings will be held regularly for knowledge sharing and Q&A. - -Stay tuned for more events! - -## Contributing - -### How to contribute (developer/translator) - - - -Contributions are welcomed, please [send an email to us](g11n@openeuler.org ) or [create a new issue]( https://gitee.com/openeuler/G11N) if you have new ideas on globalization. - -For details, see the [community contribution guidelines](https://github.com/freeCodeCamp/how-to-contribute-to-open-source). - -### Contributors - -judithsq - -liupengroc - -hcy1012 - -lshelen - -zwyopen2021 - -yanhuiling - -## Documents - -To be supplemented - -## Disclaimer - -To be supplemented - -## Links - +![输入图片说明](documentation/G11N-logo.png) + +## What is G11N + +This is a place for open discussions, where people from anywhere in the world can participate. Here you may find the latest industry insights and news, tech and globalization blogs, and learning materials regarding openEuler and its globalization process. + +We are dedicated to helping OS and tech buffs learn more about openEuler and OS trends, and we welcome anyone interested in our project to join the G11N SIG and share fun stuff together. + +## What we can provide + +### Industry insights + +To start with, members from this SIG will provide developers with up-to-date info and knowledge in the industry by translating carefully selected articles from major English tech websites and well-known research journals. + +### Tech and globalization blogs + +You can also find blogs in G11N. They are divided into the following two categories: Tech and Case Study. The tech blogs are written in English based on the Chinese outline provided by members of other SIGs while case studies are adapted from customer cases. + +### Learning materials + + To further support translation teams and help openEuler developers lower the barrier for contributions, the SIG will also open several columns regarding: + +- OS textbooks +- openEuler training materials +- Globalization principles +- Cultural taboos +- OS courses +- Standard localization processes +- Tips for website globalization tests + + + +## What you can do + +### Discuss with tech gurus + +In order to develop a more prosperous openEuler ecosystem, we also welcome suggestions on other sources of news, industry insights, and analyst reports. Please feel free to star, leave comments, and submit issues. + +### Share your knowledge + +If you are willing to share your own stories and ideas about openEuler, or tips on globalization, you can also contact the SIG members to submit your work. + +### Improve openEuler website + +Three language versions (Chinese, English, and Russian) are currently available for [openEuler official website](https://openeuler.org/en/). We are constantly optimizing its content to provide better user experience. You're welcomed to give suggestions to help us get better. + + + +## How to use + +If you are interested in providing your native language support to expand openEuler global influence, please check for and join an existing translation team or create a new one. Please follow the *Translation Team Creation Guide* to file an application. New applications will be thoroughly considered before acceptance. + +In addition, feel free to join the SIG meeting and discuss the globalization insights with us. You can find the meeting minutes and all related materials in the *Documentation* folder. + +SIG meetings will be held regularly for knowledge sharing and Q&A. + +Stay tuned for more events! + +## Contributing + +### How to contribute (developer/translator) + + + +Contributions are welcomed, please [send an email to us](g11n@openeuler.org ) or [create a new issue]( https://gitee.com/openeuler/G11N) if you have any ideas on globalization. + +For details, see the [community contribution guidelines](https://github.com/freeCodeCamp/how-to-contribute-to-open-source). + +### Contributors + +judithsq + +liupengroc + +hcy1012 + +lshelen + +zwyopen2021 + +yanhuiling + +## Documents + +To be supplemented + +## Disclaimer + +To be supplemented + +## Links + To be supplemented \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/Java-Packages.README.en.md b/translation-projects/README-optimization/optimized-README/Java-Packages.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..fc6c31390997b78c2f84aa086d06494cfa59a47a --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/Java-Packages.README.en.md @@ -0,0 +1,56 @@ +# Java-Packages + +## Description + +This repository serves as the entry repository for the Java SIG and is used as a repository for the openEuler community's Java packaging-related code, macros, tools, and guidelines. In addition, we identify packages to be maintained in the following categories: + +1. Java build tool ontology packages, such as `maven` `gradle` `ant` and so on. +2. Java build tool-related derivative packages, such as `maven_local` and so on. +3. Java packages on which above Java build tool depends. +4. Java packages, and the Java packages on which they depend. +5. Java packages, and the specialized packages on which they depend (specifically to support the Java software). + +## Software Architecture + +n/a + +## Installation + +n/a + +## Instructions + +n/a + +## Contribution + +You are welcome to participate in the discussion of the issues and contribute to the PR. + +### Basic Procedure + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request + +### Git and RP Guider + +1. https://gitee.com/openeuler/community/blob/master/zh/contributors/Gitee-workflow.md +2. https://gitee.com/openeuler/community/blob/master/zh/contributors/pull-request.md +3. https://gitee.com/openeuler/community/blob/master/zh/sig-infrastructure/command.md +4. https://gitee.com/openeuler/community/blob/master/zh/contributors/pull-requests.md + +### Notes on software packaging pull request checking + +1. Check whether the automatic check program is passed, if not, it is not allowed to merge; +2. Understand the function of software and evaluate whether it belongs to Java-Packages, that is, it conforms to the scope of software that needs to be maintained in the above introduction. In case of doubt, you can discuss with other maintainers before deciding whether to allow merging; +3. Note if there are special codes in the spec file, such as "fedora" or "rhel" information, click [here][suspected_spec] to view the relevant issue, in case of this type of issue please confirm with the pr committers before deciding whether to allow merging. + +### Learning materials + +1. [RPM Documentation][rpm_doc] +2. [Check scripts for information such as URL and source in spec file, check scripts for license file][spec_check_file] + +[rpm_doc]: http://rpm.org/documentation +[suspected_spec]: https://gitee.com/openeuler/Java-Packages/issues/I1UL4S?from=project-issue +[spec_check_file]: https://gitee.com/openeuler/Java-Packages/attach_files \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/eggo.README.en.md b/translation-projects/README-optimization/optimized-README/eggo.README.en.md index e69f14ca8c6d18d0d39a97bbed027f02654b4731..61a8bfd931a11f22f27a5a7d2bd9d675b0e551b3 100644 --- a/translation-projects/README-optimization/optimized-README/eggo.README.en.md +++ b/translation-projects/README-optimization/optimized-README/eggo.README.en.md @@ -1,43 +1,43 @@ -# eggo - -### Introduction -The Eggo project was designed to automate flexibly the deployment of K8S clusters and to track deployment processes in mass production environments. In Cloud Native architecture, you can deploy clusters by tracking configuration with GitOps management. - -- Support multiple versions of Linux: such as openEuler/CentOS/Ubuntu; -- Support multiple architectures (amd64/arm64) : a cluster supports nodes of multiple architectures; -- Support multiple deployments: binary and kubeadm (to be implemented); -- Support deploying online and offline, and deploying cluster via Gitops; - -Currently, eggo has deployed clusters by executing commands. The following are three deployment modes that are supported by eggo: - - -- Deploy online. You only need to write the `yaml` configuration file for the deployment. You can download required rpm packages/binary files/plug-ins/docker images during the installation and deployment via the Internet (You can download from Google, so make sure your computer access to the Internet). Online deployment currently cannot support download and installation of plug-ins , and it will be implemented. 【Details in [eggo operation manual](/docs/manual.md)】 -- Deploy Offline. Package all rpm packages/binary files/plug-ins/docker images into a `tar.gz` file in a required format. Then compile the corresponding `yaml` configuration file (details in [eggo operation manual](/docs/manual.md)), so that you can deploy clusters by executing commands. -- Deploy new clusters with meta cluster via Gitops (to be implemented). - -### Architecture -Details in [Software architecture description](./docs/general_design.md) - -### Details -Details in [eggo operation manual](https://docs.openeuler.org/zh/docs/21.09/docs/Kubernetes/eggo%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2.html) - - -### Versions - -``` -# Step 1: update file of VERSION, and push pr -$ vi VERSION -# Step 2: get release note by call releasenote.sh -$ ./hack/releasenote.sh -``` - -### Acknowledgement - -The design of Eggo was inspired by [Kubekey](https://github.com/kubesphere/kubekey). - -### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code +# eggo + +### Description +The Eggo project was designed to automate the deployment of K8S clusters in mass production environments, track deployment processes, and provide a high degree of flexibility. By combining GitOps management and deployment configuration tracking, cluster deployment is implemented in cloud native mode, enabling cluster management. + +- Support multi-release version of Linux: such as openEuler/CentOS/Ubuntu; +- Support multi-architecture deployment: a cluster supports nodes of multiple architectures(amd64/arm64); +- Support for multiple deployment modes: binary and KUbeadm (to be implemented); +- Support online and offline deployment, and cluster deployment using Gitops; + +Currently, eggo implements the deployment using the command. The following are three deployment modes supported by eggo: + + +- Online deployment. Only need to write the `yaml` configuration file for the deployment. The required rpm package/binary file/plug-in/docker image are automatically downloaded online during the installation and deployment phase. Online deployment Currently, plug-ins cannot be downloaded and installed online. Plug-ins will be deployed online in the future. Details see [eggo operation manual](/docs/manual.md). +- Offline deployment. Package all rpm packages/binary files/plug-in/docker images into a `tar.gz` file in a certain format. Then write the corresponding `yaml` configuration file (details see [eggo operation manual](/docs/manual.md)), the cluster will be deployed by executing commands. +- Deploy new clusters using meta-clusters through GitOps. The feature is still under development. + +### Software Architecture +detailed [Software architecture description](./docs/general_design.md) + +### Detailed usage +detailed [eggo operation manual](https://docs.openeuler.org/zh/docs/21.09/docs/Kubernetes/eggo%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2.html) + + +### Releases + +``` +# Step 1: update file of VERSION, and push pr +$ vi VERSION +# Step 2: get release note by call releasenote.sh +$ ./hack/releasenote.sh +``` + +### Gratitude + +The design of Eggo was inspired by [Kubekey](https://github.com/kubesphere/kubekey), thanks to their great work. + +### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code 4. Create Pull Request \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/gazelle-cni.README.en.md b/translation-projects/README-optimization/optimized-README/gazelle-cni.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..d270037aeb2c3fc24bbf9f676bbdda811900cca4 --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/gazelle-cni.README.en.md @@ -0,0 +1,57 @@ +# Gazelle-cni + +#### Motivation + +As a user-mode protocol stack that has been commercialized within Huawei, Gazelle supports TCP/UDP protocol stack. Compared with similar software, Gazelle has many advantages in performance and applicability, including concurrent linearity, low latency, ease of use, etc. + +The effect of reference performance acceleration Nginx is as follows: + +![img](https://gitee.com/openeuler/gazelle-cni/raw/master/Nginx-2.png) + +Linearity is close to 1 + +![img](https://gitee.com/openeuler/gazelle-cni/raw/master/nginx-1.png) + +Delays in transmission are shorter. + +Ease of use: Without code modification or application recompilation, it can be used immediately after it is installed using the acceleration library. + +The Gazelle-CNI project aims to make Huawei's commercial Gazelle project open-source and apply it to cloud-native scenarios to accelerate Service Mesh. + +In the various cloud-native scenarios, Service Mesh has become a standard component to implement Istio. As the data plane component of Istio, Envoy matters a lot. Therefore, the goal of this project is to accelerate Envoy. +#### Objectives + +Performance: Improve the performance of the service mesh data plane, reduce the service access latency in a cluster by 30%, and increase the service access throughput in a cluster by 30%. + +Ease of use: Without code modification and recompilation, the open-source Istio can be used immediately after it is deployed. + +#### Overview + +As the data plane component of Istio, Envoy manages all external data flows in the mesh and implements LB, statistics and other functions. The data flow figure is as follows: + +![img](https://gitee.com/openeuler/gazelle-cni/raw/master/envoy-1.png) + +From the preceding figure, we can see that the entire data flow path is long, bringing bottlenecks to the performance of the service mesh. =Therefore, the entire process needs to be accelerated. The acceleration solution is as follows: + +![img](https://gitee.com/openeuler/gazelle-cni/raw/master/envoy-2.png) + +The acceleration parts include: + +1. Gazelle CNI: Optimized based on Gazelle. +2. Socket-map: eBPF sockmap technology is used to accelerate the communication between sockets. +3. XDP Bridge: XDP technology is used to implement the bridge function. XDP Bridge serves as the default bridge of Kubelet. + +#### Roadmap Planning (Tentative) + +1. Open-source Gazelle project: make the source code open-source by June 30th, 2021. +2. Gazelle-CNI technology demonstration: The demonstration will be done by March 30th, 2021. Envoy can simultaneously apply to the Gazelle protocol stack and the kernel protocol stack to complete single-node acceleration. +3. Gazelle-CNI technology development: Complete the CNI adaptation to the Gazelle project and AF_XDP adaptation by May 30th, 2021b. +4. Socket-map technology: Technology development will be completed before by June 30th, 2021. +5. XDP bridge technology: Technology development will be completed by July 30th, 2021. + +#### Join Us + +Though Gazelle technology is mature, we still need help with the design and verification of Gazelle-CNI and other technologies. Please join us, if you are interested in our project. +#### Contact Us + +[high-performance-network@openeuler.org](mailto:high-performance-network@openeuler.org) [dev@openeuler.org](mailto:dev@openeuler.org) \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/globalization.README.en.md b/translation-projects/README-optimization/optimized-README/globalization.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..f7eb84183759fedfad9fae32630ae3e040358e6f --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/globalization.README.en.md @@ -0,0 +1,51 @@ +![输入图片说明](images/G11N-logo.png) +English | [简体中文](./README-cn.md) | [Русский язык](./README.ru.md) +# What is globalization +This repo contains resources that promote the globalization of [the openEuler community](https://openeuler.org/en/). It is maintained by the G11N SIG, a group that aims to provide a smooth language and cultural experience to the openEuler Community. +## How it will help +### Globalization basics +Useful resources are offered in this repo to make you prepared for globalization: +* Globalization principles +* Standard localization processes +* Cultural taboos +* Tips for website globalization testing +* Translation and localization skills +* Translation best practices +### Globalization activities +* Internationalization (i18n): Enable openEuler products to use different languages. +* Localization (l10n): Translate docs and website content. Convert GUI and docs from English to native languages. +* l10n and g11n testing: Ensure that products can be used internationally or worldwide, including all testing necessary to make sure that products will satisfy given requirements for language support, cultural support, and multilingual support. +### Globalization platform +Where necessary tools and a complete localization process are available to help you translate and localize GUIs, docs, and website content. (More details coming soon) +## How to contribute +We welcome any kinds of contribution +* Translations +* i18n and l10n tools +* g11n tests +* Bug fixes +* Feature additions + +You can contribute as an individual, join our language teams, or create a new team. You may find these documents helpful in assisting your contribution effort: +* *Translation Team Creation Guide* +* *Translation Team Creation Checklist* +* *Upstream Team Cooperation Guide* +* *Team Communication Strategies* +* *FAQs* + +Feel free to join SIG meetings and share your ideas and insights with us. Meeting minutes and all related materials are available in the *Documentation* folder. +## Getting in touch +If you have any questions to ask, or any ideas and insights to share, don't hesitate to [let us know](g11n@openeuler.org). +For more information, visit [G11N](https://gitee.com/openeuler/G11N). + +## People +judithsq + +liupengroc + +hcy1012 + +lshelen + +zwyopen2021 + +yanhuiling \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/ha-api.README.en.md b/translation-projects/README-optimization/optimized-README/ha-api.README.en.md index bae1fe448135b75f64f3d989a6bdbc273b975ff4..1fce453053711e0723348ba9a274794623192cf3 100644 --- a/translation-projects/README-optimization/optimized-README/ha-api.README.en.md +++ b/translation-projects/README-optimization/optimized-README/ha-api.README.en.md @@ -1,49 +1,48 @@ -# ha-api - -## Introduction -REST API backend for HA manage platform. - -Another project is [HA-web](https://gitee.com/openeuler/ha-web), providing frontend UI for HA manage platform. - -## Screenshots - -TODO: add some screenshots here - -## Features - -Easy to use. - -## Documents - -The following documents are provided to help you understand the project: - - [Build Document](./docs/build_en.md) - - [Architecture Document](./docs/architecture_en.md) - - [API Document](./docs/api_en.md) - -## Installation - -HA software is needed to run backend of ha-api manage platform . - -In openEuler 20.03 LTS SP1, you can install HA software by yum: - -``` -[root@ha1~]# yum install corosync pacemaker pcs fence-agents fence-virt corosync-qdevice sbd drbd drbd-utils -``` - -For another OS, you may need to compile it and then install. -You can get more details in [install documents](./docs/install_en.md) and [build documents](./docs/build_en.md) - -## Contribution - -HA-api is developed with golang. We use [Beego framework](https://beego.me/) to help us to develop high performance and reliable manage platform. All contributions are welcomed. If you have any problems in using or developing, please contact us by submitting a issue. - - -## Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog: [blog.gitee.com](https://blog.gitee.com) -3. You can explore open source project: [https://gitee.com/explore](https://gitee.com/explore) -4. The Gitee Most Valuable Project ([GVP](https://gitee.com/gvp)), the excellent open source project comprehensively evaluated by Gitee -5. The manual of Gitee: [https://gitee.com/help](https://gitee.com/help) -6. The most popular Gitee members: [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) - +# ha-api + +## Description +REST API backend for HA management platform. + +Another relevant project is [HA-web](https://gitee.com/openeuler/ha-web), which provides frontend of HA manage platform. + +## Screenshots + +TODO: add some screenshots here + +## Features + +Easy to use. + +## Documents + +The following docs may help you know more about the project: + - [Build Document](./docs/build_en.md) + - [Architecture Document](./docs/architecture_en.md) + - [API Document](./docs/api_en.md) + +## Install + +HA software is need to run HA management platform backend. + +On openEuler 20.03 LTS SP1, you can install HA software by yum: + +``` +[root@ha1~]# yum install corosync pacemaker pcs fence-agents fence-virt corosync-qdevice sbd drbd drbd-utils +``` + +For other OSes, you may need to compile it and then install. +You can get more details in [install documents](./docs/install_en.md) and [build documents](./docs/build_en.md) + +## Contribution + +HA-api is developed with golang. We use [Beego framework](https://beego.me/) to develop high performance and reliable management platform. All contributions are welcomed. If you have any problems in using or developing, please contact us by opening a issue. + + +## Gitee Feature + +1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) +6. The most popular members https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/iSulad.README.en.md b/translation-projects/README-optimization/optimized-README/iSulad.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..4aa29fe24db9763eee8e6dd4779bacb4b2c0691c --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/iSulad.README.en.md @@ -0,0 +1,285 @@ +iSulad + +## iSulad + +`iSulad` is a lightweight container runtime daemon designed for IOT and Cloud infrastructure. `iSulad` has the characteristics of light, fast and not limited by hardware specifications and architectures, providing a wider range of applications. + +## Documentation + +- [en build guide](./docs/build_guide.md) +- [cn build guide](./docs/build_guide_zh.md) +- [more usage guide](https://openeuler.org/zh/docs/20.09/docs/Container/iSula%E5%AE%B9%E5%99%A8%E5%BC%95%E6%93%8E.html) + +## Getting Started + +### Installing + +To install iSulad, you can use `rpm` or `yum` package manager command with `openEuler` repository. + +Or write repository file mannually: + +```sh +cat << EOF > /etc/yum.repos.d/openEuler.repo +[openEuler] +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/OS/\$basearch +enabled=1 +EOF +``` + +Install iSulad with `yum`: + +```sh +yum install -y iSulad +``` + +If you found this error +``` +Repository 'openEuler' is missing name in configuration, using id. + +You have enabled checking of packages via GPG keys. This is a good thing. +However, you do not have any GPG public keys installed. You need to download +the keys for packages you wish to install and install them. +You can do that by running the command: + rpm --import public.gpg.key + + +Alternatively you can specify the url to the key you would like to use +for a repository in the 'gpgkey' option in a repository section and YUM +will install it for you. + +For more information contact your distribution or package provider. + +``` + +You should run `rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler` first + + +### Configure + +Configure the container image registry address, for example "docker.io" or other registry address. + +```sh +# cat /etc/isulad/daemon.json +..... + "registry-mirrors": [ + "docker.io" + ], +..... +``` + +### Run + +We provide `systemd` service to start `iSulad`: +```sh +systemctl restart isulad # restart the server with systemd command +``` + +You can use direct command to start `iSulad` server: +```sh +$ sudo isulad # run the server with default socket name and default log level and images manage function +``` +### Operations on containers + +For more informations on how to use `iSulad`, please refer to the [guide](https://openeuler.org/en/docs/20.03_LTS/docs/Container/isulad-container-engine.html). + +`iSulad` provides two operate interfaces to manager images and containers. + +- CLI - `iSulad` provides `isula` as client CLI + + Here are some sample commands to manager containers. + + List all containers in your own environment: + ```sh + # list containers + $ sudo isula ps -a + ``` + + Create a container with busybox named `test`: + ```sh + # create a container 'test' with image busybox + $ sudo isula create -t -n test busybox + ``` + + Start this container `test`: + ```sh + # start the container 'test' + $ sudo isula start test + ``` + Kill the container `test`: + ```sh + # kill the container 'test': + $ sudo isula kill test + ``` + Remove the container `test`: + ```sh + # remove the container 'test' + $ sudo isula rm test + ``` + +- CRI interface - `iSulad` can be integrated with `kubernetes` through CRI interface + + How to integrate with `kubernetes` please refer to [integration.md](./docs/integration.md). + + +### Build from source +Build requirements for developers are listed in [build_guide](./docs/build_guide.md). + +## Performance + +#### Machine configuration + +X86 machine: + +| Configuration | Information | +| ------------- | -------------------------------------------- | +| OS | Fedora32 X86_64 | +| Kernel | linux 5.7.10-201.fc32.x86_64 | +| CPU | 48 cores,Intel Xeon CPU E5-2695 v2 @ 2.4GHZ | +| Memory | 132 GB | + +ARM machine: + +| Configuration | Information | +| ------------- | ------------- | +| OS | openEuler | +| Kernel | linux 4.19.90 | +| CPU | 64 cores | +| Memory | 196 GB | + +#### Version of Softwares + +| Name | Version | +| --------- | ------------------------------------------------------------ | +| iSulad | Version: 2.0.3 , Git commit: 3bb24761f07cc0ac399e1cb783053db8b33b263d | +| docker | Version: 19.03.11, Git commit: 42e35e6 | +| podman | version 2.0.3 | +| CRI-O | v1.15.4 | +| kubelet | v1.15.0 | +| cri-tools | v1.15.0 | + +#### Design of testcase + +![design of performance test](./docs/design/performan_test_design.png) + +About code of test + +- [x] Now, we use shell to finish test cases of performance; + +- [ ] Future, we should have a repository which store all test cases for iSula. Such as, performance tests, validation tests and so on... [It's coming soon](https://gitee.com/openeuler/iSulad/wikis/2020-%E4%B8%8B%E5%8D%8A%E5%B9%B4%E7%89%B9%E6%80%A7%E8%B7%AF%E6%A0%87?sort_id=2471417)... + +#### Compare with other container engines + +##### run operator once + +###### X86 + +base operators of client + +| operator (ms) | Docker | Podman | iSulad | vs Docker | vs Podman | +| ------------- | ------ | ------ | ------ | --------- | --------- | +| create | 287 | 180 | 87 | -69.69% | -51.67% | +| start | 675 | 916 | 154 | -77.19% | -83.19% | +| stop | 349 | 513 | 274 | -21.49% | -46.59% | +| rm | 72 | 187 | 60 | -16.67% | -67.91% | +| run | 866 | 454 | 195 | -77.48% | -57.05% | + +base operators of CRI + +| operator (ms) | Docker | CRIO | iSulad | vs Docker | vs CRIO | +| ------------- | ------ | ---- | ------ | --------- | ------- | +| runp | 681 | 321 | 186 | -72.69% | -42.06% | +| stopp | 400 | 356 | 169 | -57.75% | -52.53% | + +###### ARM + +base operators of client + +| operator (ms) | Docker | Podman | iSulad | vs Docker | vs Podman | +| ------------- | ------ | ------ | ------ | --------- | --------- | +| create | 401 | 361 | 61 | -84.79% | -83.10% | +| start | 1160 | 1143 | 232 | -80.00% | -79.70% | +| stop | 634 | 576 | 243 | -61.67% | -57.81% | +| rm | 105 | 398 | 46 | -56.19% | -88.44% | +| run | 1261 | 1071 | 258 | -79.54% | -75.91% | + +base operators of CRI + +| operator (ms) | Docker | CRIO | iSulad | vs Docker | vs CRIO | +| ------------- | ------ | ---- | ------ | --------- | ------- | +| runp | 1339 | 2366 | 179 | -86.63% | -92.43% | +| stopp | 443 | 419 | 117 | -73.59% | -72.08% | + +##### parallel to run operator 100 times + +###### X86 + +base operator of client + +| operator (ms) | Docker | Podman | iSulad | vs Docker | vs Podman | +| ------------- | ------ | ------ | ------ | --------- | --------- | +| 100 * create | 4995 | 3993 | 829 | -83.40% | -79.24% | +| 100 * start | 10126 | 5537 | 1425 | -85.93% | -74.26% | +| 100 * stop | 8066 | 11100 | 2273 | -71.82% | -79.52% | +| 100 * rm | 3220 | 4319 | 438 | -86.40% | -89.86% | +| 100 * run | 9822 | 5979 | 2117 | -78.45% | -64.59% | + +base operators of CRI + +| operator (ms) | Docker | CRIO | iSulad | vs Docker | vs CRIO | +| ------------- | ------ | ---- | ------ | --------- | ------- | +| 100 * runp | 13998 | 4946 | 2825 | -79.82% | -42.88% | +| 100 * stopp | 8402 | 4834 | 4543 | -45.93% | -6.02% | + +###### ARM + +base operator of client + +| operator (ms) | Docker | Podman | iSulad | vs Docker | vs Podman | +| ------------- | ------ | ------ | ------ | --------- | --------- | +| 100 * create | 14563 | 12081 | 538 | -96.31% | -95.55% | +| 100 * start | 23420 | 15370 | 1841 | -92.14% | -88.02% | +| 100 * stop | 22234 | 16973 | 930 | -95.82% | -94.52% | +| 100 * rm | 937 | 10493 | 233 | -75.13% | -97.78% | +| 100 * run | 28091 | 16280 | 2320 | -91.74% | -85.75% | + +base operators of CRI + +| operator (ms) | Docker | CRIO | iSulad | vs Docker | vs CRIO | +| ------------- | ------ | ----- | ------ | --------- | ------- | +| 100 * runp | 27802 | 29197 | 2398 | -91.37% | -91.79% | +| 100 * stopp | 14429 | 11173 | 1170 | -91.89% | -89.53% | + +## Try to Use iSulad + +If you want to experience iSulad right now, you can try to use it at: + +- https://lab.huaweicloud.com/testdetail_498 + +This is the iSulad experiment. In this experiment you can install iSulad easily. And then you can pull image, run container, analyse iSulad's performance and compare it with performance of Docker. + +## How to Contribute + +We always welcome new contributors. And we are happy to provide guidance for the new contributors. + +iSulad follows the kernel coding conventions. You can find a detailed introduction at: + +- https://www.kernel.org/doc/html/v4.10/process/coding-style.html + +You can get more information about iSulad from our wikis, including roadmap, feature design documents, etc: + +- https://gitee.com/openeuler/iSulad/wikis + +## Licensing + +iSulad is licensed under the Mulan PSL v2. + +## Related Resouces + +- [bilibili videos](https://space.bilibili.com/527064077/video?keyword=iSulad) +- [如何在openEuler树莓派镜像上部署k8s+iSula集群](https://my.oschina.net/openeuler/blog/4774838) +- [基于openEuler搭建部署k8s](https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=94271) + +## Join us +You can join us on any of the following channels: +* Join our [mailing list](https://mailweb.openeuler.org/postorius/lists/isulad.openeuler.org/) +* Join our Biweekly meeting at 16:30 pm on Tuesday (meeting link will be mailed at mailing list) \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/infrastructure.README.en.md b/translation-projects/README-optimization/optimized-README/infrastructure.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..73b1fdb091e7335ccd04a35c52960aeacc38982d --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/infrastructure.README.en.md @@ -0,0 +1,44 @@ +# infrastructure + +### Brief Introduction + +This repository houses the scripts for community infrastructure. You are welcome to join us. Your contribution will be appreciated. + +### Structure +``` +|__environment --Houses the scripts of basic infrastructure. +|__mail --Houses the scripts of the mailing list system. +|__website --Houses the scripts of the CD system. +|__docs --Houses the design docs. +|__assets --Houses the basic assets, e.g. images. +|__repository --Houses the repository maintenance YAML file. +|__meetbot --Houses the meetbot Dockerfile and deployment YAML file. +``` + + +Currently, all systems are running in containers managed by HUAWEICLOUD Cloud Container Engine (CCE). Your contribution to the infrastructure resources in our community is highly appreciated. + +### Mail + +Our mailing list system is based on (Mailman + Exim4 + Postgres). Thanks go to [maxking](https://github.com/maxking/docker-mailman) and [inifum](https://github.com/infinum/exim4-docker). Most of our Docker files are built on their versions. + +### Meeting +- Time + + 17:00-18:00, Tuesday, Beijing Time; 9:00-10:00 am, Tuesday, UTC. + +- Channels + + IRC will be used to hold the weekly meeting. If you are considering alternative meeting channels, such as Zoom, please propose it to [mailing list](infra@openeuler.org) in advance. + + The channel https://webchat.freenode.net/#openeuler-meeting is used. + +- Meeting archive + + You can find the archive at http://meetings.openeuler.org/openeuler-meeting/. + +### License +All codes are under the Apache v2.0 license. + + +### Reference \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/isula-build.README.en.md b/translation-projects/README-optimization/optimized-README/isula-build.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..fde52eb6c0f07a3733630318f32a17b532a5f591 --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/isula-build.README.en.md @@ -0,0 +1,196 @@ +# isula-build + +isula-build is a tool provided by the iSula team for building container images. It can quickly build a container image based on a given `Dockerfile`. + +The tool adopts the server + client mode. The binary file `isula-build` is the client that provides a CLI for building and managing images, while `isula-builder` is the server that runs as a daemon in the background, responding all the requests from client. + +You can use the CLI to + +- Build an image from a Dockerfile (build). +- List all images in local storage (image). +- Import container base images (import). +- Load layered images (load). +- Remove local persistent images (rm). +- Export layered images (save). +- Tag local persistent images (tag). +- Pull images from a remote repository (pull). +- Push images to a remote repository (push). +- View operating environment and system information (info). +- Log into a remote image repository (login). +- Log out of a remote image repository (logout). +- Query isula-build version (version). + +In addition, the following capabilities are also provided: + +- Dockerfile compatible syntax. +- Support for extended file attributes, such as linux security, IMA, EVM, user, and trusted. +- Support for export of different image formats, such as docker-archive, iSulad, etc. + +## Documentation +- [Container Image Building](./doc/manual_en.md) +- [Usage Guidelines](./doc/manual_en.md#usage-guidelines) + +## Getting Started + +### Installation on openEuler + +#### Install from source + +To compile smoothly from source code, these packages are required on your OS: + +- make +- golang (version 1.13 or later) +- btrfs-progs-devel +- device-mapper-devel +- glib2-devel +- gpgme-devel +- libassuan-devel +- libseccomp-devel +- git +- bzip2 +- systemd-devel + +You can install them on openEuler with `yum`: + +```sh +sudo yum install make btrfs-progs-devel device-mapper-devel glib2-devel gpgme-devel libassuan-devel libseccomp-devel git bzip2 go-md2man systemd-devel golang +``` + +Get the source code with `git`: + +```sh +git clone https://gitee.com/openeuler/isula-build.git +``` + +Enter the source code directory and start compiling: + +```sh +cd isula-build +sudo make +``` + +After compiling success, you can install the binaries and default configuration files simply with: + +```sh +sudo make install +``` + +#### Install as RPM package + +`isula-build` is now released with update pack of openEuler 20.03 LTS, you can install it using yum or rpm. Before you install, please enable "update" in the repo file. + +##### With `yum` + +```sh +sudo yum install -y isula-build +``` + +> **NOTE**: Please make sure the "update" part of your yum configuration is enabled. You can download the source of yum from [openEuler repo list](https://repo.openeuler.org/) and install it. + +##### With `rpm` + +You can download the RPM package of isula-build and intall it. + +```sh +sudo rpm -ivh isula-build-*.rpm +``` + +### Running the Daemon Server + +#### Run as the system service + +To manage `isula-build` by systemd, please refer to following steps: + +```sh +sudo install -p -m 640 ./isula-build.service /etc/systemd/system/isula-build.service +sudo systemctl enable isula-build +sudo systemctl start isula-build +``` + +#### Directly run the isula-builder binary file +You can also run the isula-builder binary file on the server to start the service: + +```sh +sudo isula-builder --dataroot="/var/lib/isula-build" +``` + +### Example on Building Container Images + +#### Prerequisites + +To build container images, `runc` is required. + +You can get `runc` by installing `docker` or `docker-runc` on your openEuler distro: + +```sh +sudo yum install docker +``` + +or + +```sh +sudo yum install docker-runc +``` + +#### Build an image + +Here is an example for building a container image, for more details please refer to [Usage Guidelines](./doc/manual_en.md#usage-guidelines). + +Create a buildDir and write a simple Dockerfile: + +```dockerfile +FROM alpine:latest +LABEL foo=bar +COPY ./* /home/dir1/ +``` + +Build the image in the buildDir. + +```sh +$ sudo isula-build ctr-img build -f Dockerfile . +STEP 1: FROM alpine:latest +STEP 2: LABEL foo=bar +STEP 3: COPY ./* /home/dir1/ +Getting image source signatures +Copying blob sha256:e9235582825a2691b1c91a96580e358c99acfd48082cbf1b92fd2ba4a791efc3 +Copying blob sha256:dc3bca97af8b81508c343b13a08493c7809b474dc25986fcbae90c6722201be3 +Copying config sha256:9ec92a8819f9da1b06ea9ff83307ff859af2959b70bfab101f6a325b1a211549 +Writing manifest to image destination +Storing signatures +Build success with image id: 9ec92a8819f9da1b06ea9ff83307ff859af2959b70bfab101f6a325b1a211549 +``` + +#### List local images + +```sh +$ sudo isula-build ctr-img images +----------------- ----------- ---------------- ---------------------------------------------- + REPOSITORY TAG IMAGE ID CREATED +------------------ ---------- ---------------- ---------------------------------------------- + latest 9ec92a8819f9 2020-06-11 07:45:39.265106109 +0000 UTC +``` + +### Removing Images + +```sh +$ sudo isula-build ctr-img rm 9ec92a8819f9 +Deleted: sha256:86567f7a01b04c662a9657aac436e8d63ecebb26da4252abb016d177721fa11b +``` + +### Integration with iSulad or Docker + +Integration with `iSulad` or `docker` are listed in [integration](./doc/manual_en.md#directly-integrating-a-container-engine). + +## Precautions + +Constraints, limitations, and differences from `docker build` are listed in [precautions](./doc/manual_en.md#precautions). + +## How to Contribute + +We are happy to provide guidance for the new contributors. + +Please sign the [CLA](https://openeuler.org/en/cla.html) before contributing. + +## Licensing + +isula-build is licensed under the **Mulan PSL v2**. \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/isula-transform.README.en.md b/translation-projects/README-optimization/optimized-README/isula-transform.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..30ff8fc8c0e80f0ea5a19d9ed5f8d36d66521ea0 --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/isula-transform.README.en.md @@ -0,0 +1,51 @@ +# isula-transform + +## Description + +`isula-transform` is a tool that converts the configuration of the docker container to a type that isulad can recognize as being loaded. + +## Build and Installation + +Before building, ensure that [Golang](https://golang.org/) 1.13 or later and [lcr](https://gitee.com/openeuler/lcr) 2.0.1 or later are installed successfully. + +Just execute `sudo make && sudo make install` in the code root directory and enjoy it. + +## Instructions + +Basic usage of isula-transform: + +``` txt +NAME: + isula-transform - transform specify docker container type configuration to iSulad type + +USAGE: + [global options] --all|container_id[ container_id...] + +COMMANDS: + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --log value specific output log file path (default: "/var/log/isula-kits/transform.log") + --log-level value Customize the level of logging for collection, allowed: debug, info, warn, error (default: "info") + --docker-graph value graph root of docker (default: "/var/lib/docker") + --docker-state value state root of docker (default: "/var/run/docker") + --all transform all containers + --help, -h show help + --version, -v print the version +``` + +### NOTE + +There are a few things to note about using `isula-transform` : + +- currently, only docker 18.09 containers can be transformed to isulad container +- due to isulad's lack of native network capability, docker container needs to configure host network +- `isula-transform` will read the container's OCI configuration, which requires the docker container to be in a pause or running state, and pause it if it is in a running state + +## Contributions + +We always welcome new contributors. And we are happy to provide guidance for the new contributors. + +## Licensing + +`isula-transform` is licensed under the [Mulan PSL v2](https://license.coscl.org.cn/MulanPSL2/index.html). \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/itrustee_sdk.README.en.md b/translation-projects/README-optimization/optimized-README/itrustee_sdk.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..2549b3ca3286b50af7ebddea3967e0f5c6d9d22a --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/itrustee_sdk.README.en.md @@ -0,0 +1,28 @@ +iTrustee SDK +============ + +Getting Started +--------------- +Before setup your own project, please download libboundscheck software for secure function library. + +Decompress the openeuler-libboundscheck-master.zip package, then put this software to `thirdparty/open_source` path. + +Ensure that the header file path is `thirdparty/open_source/libboundscheck/include`. + +You can download this software at https://gitee.com/openeuler/libboundscheck. + +Build demo project: + +```sh +$ cd test/CA/helloworld/cloud +$ make +$ cd test/TA/helloworld/cloud +$ make +``` + + +Copy build result CA executable file and TA binary(xxx.sec) to `/vendor/bin/`. + +The path `/vendor/bin/` may be changed as your opinion, but make sure it’s consistent with the path defined in your TA's source code `/vendor/bin/teec_hello`. + +For more details please refer "iTrustee SDK.chm". \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/kernel.README.en.md b/translation-projects/README-optimization/optimized-README/kernel.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..47e9026b519e6131c5316757a922cf04b0b0f3bf --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/kernel.README.en.md @@ -0,0 +1,242 @@ +# How to Contribute +------- + +- [How to Contribute](#How to Contribute) + + \- [Sign the CLA](#Sign the CLA) + + \- [Steps of submitting patches](#Steps of submitting patches) + + \- [Use the unified patch format](#Use the unified patch format) + + \- [Define the patch format](#Define the patch format) + + \- [Examples](#Examples) + + \- [Email client - Thunderbird settings](#Email client - Thunderbird settings) + +- [Linux kernel](#Linux kernel) + +### Sign the CLA + +------- + +Before making any contributions to openEuler, please sign the CLA first. + +Address: [https://openeuler.org/en/cla.html](https://openeuler.org/en/cla.html). + +### Steps of submitting patches +------- + +**Step 1** Compile and test your patches. + +**Step 2** Generate patches. + +Your patches should be generated based on the latest openEuler branch using git-format-patch. If your patches are in a patchset, it is better to use the `--cover-letter` option to describe what the patchset does. + +Use `scripts/checkpatch.pl` to ensure that no coding style issue exists. + +In addition, make sure that your patches comply with the unified openEuler patch format described below. + +**Step 3** Send your patches to the openEuler mailing list. + +To do so, run the following command: + +```sh +$ git send-email *.patch -to="kernel@openeuler.org" --suppress-cc=all +``` + +*NOTE*: Add `--suppress-cc=all` if you use git-send-email; otherwise, the email will be copied to all people in the upstream community and mailing lists. + +For details on how to send patches using git-send-email, see [https://git-scm.com/docs/git-send-email](https://git-scm.com/docs/git-send-email). + +**Step 4** Mark "v1, v2, v3 ..." in your patch subject if you have multiple versions to send out. + +Use the `--subject-prefix="PATCH v2"` option to add the v2 tag to the patchset. + +```sh +$ git format-patch --subject-prefix="PATCH v2" -1 +``` + +Subject examples: + +​ Subject: [PATCH v2 01/27] fork: fix some -Wmissing-prototypes warnings + +​ Subject: [PATCH v3] ext2: improve scalability of bitmap searching + +**Step 5** Upstream your kernel patches to the kernel community (recommended). OpenEuler will synchronize with the kernel master in a timely manner. + +**Step 6** Sign your work - the Developer’s Certificate of Origin. + +Similar to the upstream kernel community, you also need to sign your patch. + +For details, see [https://www.kernel.org/doc/html/latest/process/submitting-patches.html](https://www.kernel.org/doc/html/latest/process/submitting-patches.html). + +A simple signature line at the end of the patch explanation proves that you either wrote it or have the right to pass it on as an open source patch. The rules are simple. You can prove as follows: + +``` +Developer’s Certificate of Origin 1.1 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +By making a contribution to this project, I certify that: + (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; + (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; + (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. + (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. +``` + +Then you add a line saying: + +``` +Signed-off-by: Random J Developer +``` + +Please use your real name (sorry, no pseudonyms or anonymous contributions). + +### Use the unified patch format +------- + +Reasons: + +1. Long term maintainability + + openEuler will merge massive patches. If all patches are merged by casual changelog formats without a unified format, the git logs will be messy, and then it is hard to figure out the original patches. + +2. Kernel upgrade + + We definitely will upgrade our openEuler kernel in someday, so strict patch management will alleviate the pain to migrate patches during big upgrades. + +3. Easy for script parsing + + Keyword highlighting is necessary for script parsing. + +### Define the patch format +------- + +[M] stands for "mandatory". + +[O] stands for "option". + +$category can be: bug preparation, bugfix, perf, feature, doc, other... + +If category is feature, we need to add a feature name as below: + +```cpp +category: feature +feature: YYY (the feature name) +``` + +If the patch is related to CVE or bugzilla, we need to add the corresponding tag as below (In general, it should include at least one of the following): + +```cpp +CVE: $cve-id +bugzilla: $bug-id +``` + +The additional changelog should include at least one of the following + +1. Why we should apply this patch + +2. What real problems in the product does this patch resolve + +3. How could we reproduce this bug or how to test it + +4. Other useful information to help understand this patch or problem + +The detailed information is very useful for migrating a patch to another kernel branch. + +Example for mainline patch: + +``` +mainline inclusion [M] +from $mainline-version [M] +commit $id [M] +category: $category [M] +bugzilla: $bug-id [O] +CVE: $cve-id [O] + +additional changelog [O] + +-------------------------------- + +original changelog +Signed-off-by: $yourname <$yourname@huawei.com> [M] +($mainline-version could be mainline-3.5, mainline-3.6, etc...) +``` + +### Examples +------- + +``` +mainline inclusion +from mainline-4.10 +commit 0becc0ae5b42828785b589f686725ff5bc3b9b25 +category: bugfix +bugzilla: 3004 +CVE: N/A + +The patch fixes a BUG_ON in the product: Injecting a single bit ECC error to the memory before system boot using hardware inject tools will cause a large amount of CMCI during system booting . +[ 1.146580] mce: [Hardware Error]: Machine check events logged +[ 1.152908] ------------[ cut here ]------------ +[ 1.157751] kernel BUG at kernel/timer.c:951! +[ 1.162321] invalid opcode: 0000 [#1] SMP + +------------------------------------------------- + +original changelog + + +Signed-off-by: Zhang San +Tested-by: Li Si +``` + +### Email client - Thunderbird settings +------- + +If you are a new developer in the kernel community, it is highly recommended that you use the Thunderbird mail client. + +1. Thunderbird Installation + + Obtain the English version of Thunderbird from [http://www.mozilla.org/]( http://www.mozilla.org/) and install it on your system. + + Download URL: https://www.thunderbird.net/en-US/thunderbird/all/. + +2. Settings + + 2.1 Use the plain text format instead of the HTML format. + + ​ Choose **Options > Account Settings > Composition & Addressing**, and do **NOT** select Compose message in HTML format. + + 2.2 Editor settings + + ​ **Tools > Options> Advanced > Config editor** + + ​ \- Open the Thunderbird's registry editor and set **mailnews.send_plaintext_flowed** to **false**. + + ​ \- Disable HTML Format: Set **mail.identity.id1.compose_html** to **false**. + + ​ \- Enable UTF-8: Set **prefs.converted-to-utf8** to **true**. + + ​ \- View messages in UTF-8: Set **mailnews.view_default_charset** to **UTF-8**. + + ​ \- Set **mailnews.wraplength** to **9999** to avoid auto-wrap. + + + +Linux kernel +============ + +There are several guides for kernel developers and users. + +These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first. + +In order to build the documentation, use `make htmldocs` or `make pdfdocs`. + +The formatted documentation can also be read online at: + +​ https://www.kernel.org/doc/html/latest/ + +There are various text files in the Documentation/ subdirectory, several of which use the Restructured Text markup notation. + +See Documentation/00-INDEX for a list of what each file contains. + +Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result from upgrading your kernel. \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/kunpengsecl.README.en.md b/translation-projects/README-optimization/optimized-README/kunpengsecl.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..75314d61aa1317150d076ecd489d41be438d36bd --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/kunpengsecl.README.en.md @@ -0,0 +1,25 @@ +# Kunpeng security library (kunpengsecl) + +#### Description +This project develops basic security software components running on Kunpeng processors. In the early stage, the project focuses on trusted computing fields such as remote attestation to enable security developers in the community. + +#### Software architecture +Software architecture description + +![kunpengsecl arch](https://gitee.com/openeuler/G11N/raw/master/learning-materials/open-source-basics/images/%E6%8D%95%E8%8E%B7.PNG) + +#### Contribution + +1. Fork this repository. +2. Creating the Feat_xxx branch +3. Submit your code. +4. Create a pull request (PR). + +#### Gitee Features + +1. Use Readme_XXX.md to mark README files with different languages, such as Readme_en.md and Readme_zh.md. +2. Gitee blog: [blog.gitee.com](https://blog.gitee.com). +3. You can visit [https://gitee.com/explore](https://gitee.com/explore) to learn about excellent open source projects on Gitee. +4. [GVP](https://gitee.com/gvp) is short for Gitee Most Valuable Project. +5. User manual provided by Gitee: [https://gitee.com/help](https://gitee.com/help). +6. Gitee Cover People is a column to display Gitee members' demeanor. Visit [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/). \ No newline at end of file