diff options
-rw-r--r-- | jjb/functest/build-docu-verify.sh | 3 | ||||
-rw-r--r-- | jjb/functest/build-upload-docu.sh | 22 | ||||
-rw-r--r-- | jjb/functest/functest.yml | 8 | ||||
-rw-r--r-- | jjb/genesis/build-docu-verify.sh (renamed from jjb/opnfvdocs/build-docu-verify.sh) | 9 | ||||
-rw-r--r-- | jjb/genesis/build-docu.sh | 38 | ||||
-rw-r--r-- | jjb/genesis/build-upload-docu.sh | 67 | ||||
-rw-r--r-- | jjb/genesis/genesis-docs.yml | 62 | ||||
-rw-r--r-- | jjb/genesis/genesis-fuel.yml | 204 | ||||
-rw-r--r-- | jjb/octopus/build-docu-verify.sh | 3 | ||||
-rw-r--r-- | jjb/octopus/build-upload-docu.sh | 22 | ||||
-rw-r--r-- | jjb/opnfvdocs/docu-build.sh (renamed from jjb/opnfvdocs/build-upload-docu.sh) | 23 | ||||
-rw-r--r-- | jjb/opnfvdocs/docu-verify.sh | 33 | ||||
-rw-r--r-- | jjb/opnfvdocs/opnfvdocs.yml | 12 | ||||
-rw-r--r-- | jjb/parser/docu-build.sh | 62 | ||||
-rw-r--r-- | jjb/parser/docu-verify.sh | 32 | ||||
-rw-r--r-- | jjb/parser/parser.yml | 37 | ||||
-rw-r--r-- | jjb/pharos/build-docu-verify.sh | 3 | ||||
-rw-r--r-- | jjb/pharos/build-upload-docu.sh | 22 | ||||
-rw-r--r-- | jjb/pharos/pharos.yml | 6 | ||||
-rw-r--r-- | test.html | 362 |
20 files changed, 598 insertions, 432 deletions
diff --git a/jjb/functest/build-docu-verify.sh b/jjb/functest/build-docu-verify.sh index e8f34a784..c692226dd 100644 --- a/jjb/functest/build-docu-verify.sh +++ b/jjb/functest/build-docu-verify.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -o pipefail + project="functest" export PATH=$PATH:/usr/local/bin/ diff --git a/jjb/functest/build-upload-docu.sh b/jjb/functest/build-upload-docu.sh index bd5abdbf2..ee45d68a3 100644 --- a/jjb/functest/build-upload-docu.sh +++ b/jjb/functest/build-upload-docu.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -o pipefail + project="functest" export PATH=$PATH:/usr/local/bin/ @@ -40,3 +43,22 @@ for file in "${{files[@]}}"; do done +images=() +while read -r -d ''; do + images+=("$REPLY") +done < <(find * -type f \( -iname \*.jpg -o -iname \*.png \) -print0) + +for img in "${{images[@]}}"; do + + # uploading found images + echo "uploading $img" + cat "$img" | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$img" + gsutil setmeta -h "Content-Type:image/jpeg" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$img" + cat gsoutput.txt + rm -f gsoutput.txt + +done + diff --git a/jjb/functest/functest.yml b/jjb/functest/functest.yml index 8ef926914..a4466f8a5 100644 --- a/jjb/functest/functest.yml +++ b/jjb/functest/functest.yml @@ -42,7 +42,7 @@ project-type: freestyle - node: orange-build + node: ericsson-test logrotate: daysToKeep: 30 @@ -109,6 +109,8 @@ - job-template: name: 'functest-daily-{stream}' + node: master + # Job template for daily builders # # Required Variables: @@ -154,6 +156,8 @@ - job-template: name: 'functest-verify' + node: master + project-type: freestyle logrotate: @@ -203,6 +207,8 @@ - job-template: name: 'functest-merge' + node: master + # builder-merge job to run JJB update # # This job's purpose is to update all the JJB diff --git a/jjb/opnfvdocs/build-docu-verify.sh b/jjb/genesis/build-docu-verify.sh index 061e46d22..06b374e16 100644 --- a/jjb/opnfvdocs/build-docu-verify.sh +++ b/jjb/genesis/build-docu-verify.sh @@ -1,5 +1,8 @@ #!/bin/bash -project="opnfvdocs" +set -e +set -o pipefail + +project="genesis" export PATH=$PATH:/usr/local/bin/ git_sha1="$(git rev-parse HEAD)" @@ -8,12 +11,12 @@ docu_build_date="$(date)" files=() while read -r -d ''; do files+=("$REPLY") -done < <(find * -type f -iname '*.rst' -print0) +done < <(find . -type f -iname '*.rst' -print0) for file in "${{files[@]}}"; do file_cut="${{file%.*}}" - gs_cp_folder="${{file_cut}}" + gs_cp_folder="$(echo "$file"| cut -d "/" -f2,3)" # sed part sed -i "s/_sha1_/$git_sha1/g" $file diff --git a/jjb/genesis/build-docu.sh b/jjb/genesis/build-docu.sh deleted file mode 100644 index b3869fcf7..000000000 --- a/jjb/genesis/build-docu.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -project="genesis" -export PATH=$PATH:/usr/local/bin/ - -files=() -while read -r -d ''; do - files+=("$REPLY") -done < <(find . -type f -iname '*.rst' -print0) - -for file in "${{files[@]}}"; do - - file_cut="${{file%.*}}" - gs_cp_folder="$(echo "$file"| cut -d "/" -f2,3)" - - html_file=$file_cut".html" - - echo "rst2html $file" - rst2html $file | gsutil cp -L gsoutput.txt - \ - gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$html_file") - gsutil setmeta -h "Content-Type:text/html" \ - -h "Cache-Control:private, max-age=0, no-transform" \ - gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$html_file") - cat gsoutput.txt - rm -f gsoutput.txt - - pdf_file="$file_cut"".pdf" - - echo "rst2pdf $file" - rst2pdf "$file" -o - | gsutil cp -L gsoutput.txt - \ - gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$pdf_file") - gsutil setmeta -h "Content-Type:application/pdf" \ - -h "Cache-Control:private, max-age=0, no-transform" \ - gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$pdf_file") - cat gsoutput.txt - rm -f gsoutput.txt - -done - diff --git a/jjb/genesis/build-upload-docu.sh b/jjb/genesis/build-upload-docu.sh new file mode 100644 index 000000000..2a6bbf725 --- /dev/null +++ b/jjb/genesis/build-upload-docu.sh @@ -0,0 +1,67 @@ +#!/bin/bash +set -e +set -o pipefail + +project="genesis" +export PATH=$PATH:/usr/local/bin/ + +git_sha1="$(git rev-parse HEAD)" +docu_build_date="$(date)" + +files=() +while read -r -d ''; do + files+=("$REPLY") +done < <(find . -type f -iname '*.rst' -print0) + +for file in "${{files[@]}}"; do + + file_cut="${{file%.*}}" + gs_cp_folder="$(echo "$file"| cut -d "/" -f2,3)" + + # sed part + sed -i "s/_sha1_/$git_sha1/g" $file + sed -i "s/_date_/$docu_build_date/g" $file + + # rst2html part + html_file=$file_cut".html" + echo "rst2html $file" + rst2html $file | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$html_file") + gsutil setmeta -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$html_file") + cat gsoutput.txt + rm -f gsoutput.txt + + # rst2pdf part + pdf_file="$file_cut"".pdf" + echo "rst2pdf $file" + rst2pdf "$file" -o - | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$pdf_file") + gsutil setmeta -h "Content-Type:application/pdf" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder"/$(basename "$pdf_file") + cat gsoutput.txt + rm -f gsoutput.txt + +done + +images=() +while read -r -d ''; do + images+=("$REPLY") +done < <(find * -type f \( -iname \*.jpg -o -iname \*.png \) -print0) + +for img in "${{images[@]}}"; do + + # uploading found images + echo "uploading $img" + cat "$img" | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$img" + gsutil setmeta -h "Content-Type:image/jpeg" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$img" + cat gsoutput.txt + rm -f gsoutput.txt + +done + diff --git a/jjb/genesis/genesis-docs.yml b/jjb/genesis/genesis-docs.yml index 14ef95ba9..21c16f7ad 100644 --- a/jjb/genesis/genesis-docs.yml +++ b/jjb/genesis/genesis-docs.yml @@ -4,7 +4,8 @@ name: genesis-docs jobs: - - 'genesis-build-docs' + - 'genesis-merge-docs' + - 'genesis-verify-docs' # stream: branch with - in place of / (eg. stable-helium) # branch: branch (eg. stable/helium) @@ -18,7 +19,9 @@ # job templates ######################## - job-template: - name: 'genesis-build-docs' + name: 'genesis-merge-docs' + + node: master project-type: freestyle @@ -59,5 +62,58 @@ builders: - shell: - !include-raw build-docu.sh + !include-raw build-upload-docu.sh + +- job-template: + name: 'genesis-verify-docs' + + node: master + + project-type: freestyle + + logrotate: + daysToKeep: 30 + numToKeep: 40 + artifactDaysToKeep: -1 + artifactNumToKeep: 5 + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: 'master' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + choosing-strategy: 'default' + + wrappers: + - ssh-agent-credentials: + user: '{ssh-credentials}' + + triggers: + - gerrit: + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + + projects: + - project-compare-type: 'ANT' + project-pattern: 'genesis' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/master' + + builders: + - shell: + !include-raw build-docu-verify.sh diff --git a/jjb/genesis/genesis-fuel.yml b/jjb/genesis/genesis-fuel.yml index fca2db817..6662c7d19 100644 --- a/jjb/genesis/genesis-fuel.yml +++ b/jjb/genesis/genesis-fuel.yml @@ -9,6 +9,9 @@ - 'genesis-fuel-verify' - 'genesis-fuel-merge' - 'genesis-fuel-daily-{stream}' + - 'genesis-fuel-build' + - 'genesis-fuel-deploy' + - 'genesis-fuel-test' # stream: branch with - in place of / (eg. stable-helium) # branch: branch (eg. stable/helium) @@ -248,6 +251,207 @@ - 'installer-upload-artifact' - 'installer-deploy-quick-fix' +- job-template: + name: 'genesis-fuel-build' + + project-type: freestyle + + disabled: true + + node: ericsson-build + + parameters: + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/genesis + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + - string: + name: GERRIT_BRANCH + default: origin/master + description: "Branch to build, deploy and test." + - string: + name: GERRIT_REFSPEC + default: refs/heads/master + description: "Refspec to retrieve." + - string: + name: GS_URL + default: 'artifacts.opnfv.org/genesis/fuel' + description: "URL to Google Storage." + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: CACHE_DIRECTORY + default: $HOME/opnfv/cache/genesis-fuel + description: "Cache location that is where the cache is populated and used during builds to reduce the build time." + - string: + name: ARTIFACT_VERSION + default: $BUILD_ID + description: "Version number to append to resulting ISO." + - string: + name: SKIP_BUILD + default: 0 + description: "Temporary parameter for deployment testing to skip the build and run deployment only." + + scm: + - git: + skip-tag: true + url: $GIT_BASE + branches: + - $GERRIT_BRANCH + refspec: $GERRIT_REFSPEC + + logrotate: + daysToKeep: 30 + numToKeep: 10 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + set -x + + echo "Hello World!" + +- job-template: + name: 'genesis-fuel-deploy' + + project-type: freestyle + + disabled: true + + node: opnfv-jump-1 + + parameters: + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/genesis + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + - string: + name: GERRIT_BRANCH + default: origin/master + description: "Branch to build, deploy and test." + - string: + name: GERRIT_REFSPEC + default: refs/heads/master + description: "Refspec to retrieve." + - string: + name: GS_URL + default: 'artifacts.opnfv.org/genesis/fuel' + description: "URL to Google Storage." + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: CACHE_DIRECTORY + default: $HOME/opnfv/cache/genesis-fuel + description: "Cache location that is where the cache is populated and used during builds to reduce the build time." + - string: + name: ARTIFACT_VERSION + default: $BUILD_ID + description: "Version number to append to resulting ISO." + - string: + name: SKIP_BUILD + default: 0 + description: "Temporary parameter for deployment testing to skip the build and run deployment only." + + scm: + - git: + skip-tag: true + url: $GIT_BASE + branches: + - $GERRIT_BRANCH + refspec: $GERRIT_REFSPEC + + logrotate: + daysToKeep: 30 + numToKeep: 10 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + set -x + + echo "Hello World!" + +- job-template: + name: 'genesis-fuel-test' + + project-type: freestyle + + disabled: false + + node: ericsson-test + + parameters: + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/genesis + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + - string: + name: GERRIT_BRANCH + default: origin/master + description: "Branch to build, deploy and test." + - string: + name: GERRIT_REFSPEC + default: refs/heads/master + description: "Refspec to retrieve." + - string: + name: GS_URL + default: 'artifacts.opnfv.org/genesis/fuel' + description: "URL to Google Storage." + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: CACHE_DIRECTORY + default: $HOME/opnfv/cache/genesis-fuel + description: "Cache location that is where the cache is populated and used during builds to reduce the build time." + - string: + name: ARTIFACT_VERSION + default: $BUILD_ID + description: "Version number to append to resulting ISO." + - string: + name: SKIP_BUILD + default: 0 + description: "Temporary parameter for deployment testing to skip the build and run deployment only." + + scm: + - git: + skip-tag: true + url: $GIT_BASE + branches: + - $GERRIT_BRANCH + refspec: $GERRIT_REFSPEC + + logrotate: + daysToKeep: 30 + numToKeep: 10 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + set -x + + echo "Hello World!" + - builder: name: installer-build builders: diff --git a/jjb/octopus/build-docu-verify.sh b/jjb/octopus/build-docu-verify.sh index 01338efe4..9c288fa12 100644 --- a/jjb/octopus/build-docu-verify.sh +++ b/jjb/octopus/build-docu-verify.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -o pipefail + project="octopus" export PATH=$PATH:/usr/local/bin/ diff --git a/jjb/octopus/build-upload-docu.sh b/jjb/octopus/build-upload-docu.sh index 81f875dcf..fdd1463d7 100644 --- a/jjb/octopus/build-upload-docu.sh +++ b/jjb/octopus/build-upload-docu.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -o pipefail + project="octopus" export PATH=$PATH:/usr/local/bin/ @@ -40,3 +43,22 @@ for file in "${{files[@]}}"; do done +images=() +while read -r -d ''; do + images+=("$REPLY") +done < <(find * -type f \( -iname \*.jpg -o -iname \*.png \) -print0) + +for img in "${{images[@]}}"; do + + # uploading found images + echo "uploading $img" + cat "$img" | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$img" + gsutil setmeta -h "Content-Type:image/jpeg" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$img" + cat gsoutput.txt + rm -f gsoutput.txt + +done + diff --git a/jjb/opnfvdocs/build-upload-docu.sh b/jjb/opnfvdocs/docu-build.sh index b7437265d..499bdbe4b 100644 --- a/jjb/opnfvdocs/build-upload-docu.sh +++ b/jjb/opnfvdocs/docu-build.sh @@ -1,5 +1,8 @@ #!/bin/bash -project="opnfvdocs" +set -e +set -o pipefail + +project="$(git remote -v | head -n1 | awk '{{print $2}}' | sed -e 's,.*:\(.*/\)\?,,' -e 's/\.git$//')" export PATH=$PATH:/usr/local/bin/ git_sha1="$(git rev-parse HEAD)" @@ -40,3 +43,21 @@ for file in "${{files[@]}}"; do done +images=() +while read -r -d ''; do + images+=("$REPLY") +done < <(find * -type f \( -iname \*.jpg -o -iname \*.png \) -print0) + +for img in "${{images[@]}}"; do + + # uploading found images + echo "uploading $img" + cat "$img" | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$img" + gsutil setmeta -h "Content-Type:image/jpeg" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$img" + cat gsoutput.txt + rm -f gsoutput.txt + +done diff --git a/jjb/opnfvdocs/docu-verify.sh b/jjb/opnfvdocs/docu-verify.sh new file mode 100644 index 000000000..f337a7fae --- /dev/null +++ b/jjb/opnfvdocs/docu-verify.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -e +set -o pipefail + +project="$(git remote -v | head -n1 | awk '{{print $2}}' | sed -e 's,.*:\(.*/\)\?,,' -e 's/\.git$//')" +export PATH=$PATH:/usr/local/bin/ + +git_sha1="$(git rev-parse HEAD)" +docu_build_date="$(date)" + +files=() +while read -r -d ''; do + files+=("$REPLY") +done < <(find * -type f -iname '*.rst' -print0) + +for file in "${{files[@]}}"; do + + file_cut="${{file%.*}}" + gs_cp_folder="${{file_cut}}" + + # sed part + sed -i "s/_sha1_/$git_sha1/g" $file + sed -i "s/_date_/$docu_build_date/g" $file + + # rst2html part + echo "rst2html $file" + rst2html $file > $file_cut".html" + + echo "rst2pdf $file" + rst2pdf $file -o $file_cut".pdf" + +done + diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml index 2d3945227..39e33eb54 100644 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ b/jjb/opnfvdocs/opnfvdocs.yml @@ -16,6 +16,8 @@ - job-template: name: 'opnfvdocs-daily-{stream}' + node: master + # Job template for daily builders # # Required Variables: @@ -49,11 +51,13 @@ builders: - shell: - !include-raw build-upload-docu.sh + !include-raw docu-build.sh - job-template: name: 'opnfvdocs-verify' + node: master + project-type: freestyle logrotate: @@ -98,11 +102,13 @@ builders: - shell: - !include-raw build-docu-verify.sh + !include-raw docu-verify.sh - job-template: name: 'opnfvdocs-merge' + node: master + # builder-merge job to run JJB update # # This job's purpose is to update all the JJB @@ -146,5 +152,5 @@ builders: - shell: - !include-raw build-upload-docu.sh + !include-raw docu-build.sh diff --git a/jjb/parser/docu-build.sh b/jjb/parser/docu-build.sh new file mode 100644 index 000000000..7358118bd --- /dev/null +++ b/jjb/parser/docu-build.sh @@ -0,0 +1,62 @@ +#!/bin/bash +set -e +set -o pipefail +project="$(git remote -v | head -n1 | awk '{{print $2}}' | sed -e 's,.*:\(.*/\)\?,,' -e 's/\.git$//')" +export PATH=$PATH:/usr/local/bin/ + +git_sha1="$(git rev-parse HEAD)" +docu_build_date="$(date)" + +files=() +while read -r -d ''; do + files+=("$REPLY") +done < <(find * -type f -iname '*.rst' -print0) + +for file in "${{files[@]}}"; do + + file_cut="${{file%.*}}" + gs_cp_folder="${{file_cut}}" + + # sed part + sed -i "s/_sha1_/$git_sha1/g" $file + sed -i "s/_date_/$docu_build_date/g" $file + + # rst2html part + echo "rst2html $file" + rst2html $file | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".html + gsutil setmeta -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".html + cat gsoutput.txt + rm -f gsoutput.txt + + echo "rst2pdf $file" + rst2pdf $file -o - | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".pdf + gsutil setmeta -h "Content-Type:application/pdf" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".pdf + cat gsoutput.txt + rm -f gsoutput.txt + +done + +images=() +while read -r -d ''; do + images+=("$REPLY) +done < <(find * -type f \( -iname \*.jpg -o -iname \*.png \) -print0) + +for img in "${{images[@]}}"; do + + # uploading found images + echo "uploading $img" + cat "$img" | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$img" + gsutil setmeta -h "Content-Type:image/jpeg" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$img" + cat gsoutput.txt + rm -f gsoutput.txt + +done diff --git a/jjb/parser/docu-verify.sh b/jjb/parser/docu-verify.sh new file mode 100644 index 000000000..3221dc2d3 --- /dev/null +++ b/jjb/parser/docu-verify.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e +set -o pipefail +project="$(git remote -v | head -n1 | awk '{{print $2}}' | sed -e 's,.*:\(.*/\)\?,,' -e 's/\.git$//')" +export PATH=$PATH:/usr/local/bin/ + +git_sha1="$(git rev-parse HEAD)" +docu_build_date="$(date)" + +files=() +while read -r -d ''; do + files+=("$REPLY") +done < <(find * -type f -iname '*.rst' -print0) + +for file in "${{files[@]}}"; do + + file_cut="${{file%.*}}" + gs_cp_folder="${{file_cut}}" + + # sed part + sed -i "s/_sha1_/$git_sha1/g" $file + sed -i "s/_date_/$docu_build_date/g" $file + + # rst2html part + echo "rst2html $file" + rst2html $file > $file_cut".html" + + echo "rst2pdf $file" + rst2pdf $file -o $file_cut".pdf" + +done + diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml index 88c32a6a6..2c8a2fa7e 100644 --- a/jjb/parser/parser.yml +++ b/jjb/parser/parser.yml @@ -33,6 +33,8 @@ - job-template: name: 'parser-daily-{stream}' + node: master + # Job template for daily builders # # Required Variables: @@ -43,10 +45,10 @@ varsetabove: '{somevar}' logrotate: - daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' - artifactDaysToKeep: '{build-artifact-days-to-keep}' - artifactNumToKeep: '{build-artifact-num-to-keep}' + daysToKeep: 30 + numToKeep: 10 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 parameters: - project-parameter: @@ -69,10 +71,8 @@ - test-macro builders: - - shell: | - pwd - find . - echo "Hello world from parser {somevar} daily" + - shell: + !include-raw docu-build.sh postbuilders: - test-macro @@ -80,6 +80,8 @@ - job-template: name: 'parser-verify' + node: master + project-type: freestyle logrotate: @@ -123,14 +125,14 @@ branch-pattern: '**/master' builders: - - shell: | - pwd - find . - echo "verify logic goes here" + - shell: + !include-raw docu-verify.sh - job-template: name: 'parser-merge' + node: master + # builder-merge job to run JJB update # # This job's purpose is to update all the JJB @@ -173,13 +175,6 @@ branch-pattern: '**/master' builders: - - shell: | - pwd - find . - echo "merge logic goes here" - - - - - + - shell: + !include-raw docu-build.sh diff --git a/jjb/pharos/build-docu-verify.sh b/jjb/pharos/build-docu-verify.sh index 46862d913..50d387079 100644 --- a/jjb/pharos/build-docu-verify.sh +++ b/jjb/pharos/build-docu-verify.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -o pipefail + project="pharos" export PATH=$PATH:/usr/local/bin/ diff --git a/jjb/pharos/build-upload-docu.sh b/jjb/pharos/build-upload-docu.sh index caf102119..50191e517 100644 --- a/jjb/pharos/build-upload-docu.sh +++ b/jjb/pharos/build-upload-docu.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -o pipefail + project="pharos" export PATH=$PATH:/usr/local/bin/ @@ -40,3 +43,22 @@ for file in "${{files[@]}}"; do done +images=() +while read -r -d ''; do + images+=("$REPLY") +done < <(find * -type f \( -iname \*.jpg -o -iname \*.png \) -print0) + +for img in "${{images[@]}}"; do + + # uploading found images + echo "uploading $img" + cat "$img" | gsutil cp -L gsoutput.txt - \ + gs://artifacts.opnfv.org/"$project"/"$img" + gsutil setmeta -h "Content-Type:image/jpeg" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://artifacts.opnfv.org/"$project"/"$img" + cat gsoutput.txt + rm -f gsoutput.txt + +done + diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml index 85f03b799..8b5a01251 100644 --- a/jjb/pharos/pharos.yml +++ b/jjb/pharos/pharos.yml @@ -33,6 +33,8 @@ - job-template: name: 'pharos-daily-{stream}' + node: master + # Job template for daily builders # # Required Variables: @@ -78,6 +80,8 @@ - job-template: name: 'pharos-verify' + node: master + project-type: freestyle logrotate: @@ -127,6 +131,8 @@ - job-template: name: 'pharos-merge' + node: master + # builder-merge job to run JJB update # # This job's purpose is to update all the JJB diff --git a/test.html b/test.html deleted file mode 100644 index 7fe7ce438..000000000 --- a/test.html +++ /dev/null @@ -1,362 +0,0 @@ -<!DOCTYPE html> -<html lang="en" dir="ltr" class="client-nojs"> -<head> -<meta charset="UTF-8" /> -<title>OpenStack</title> -<meta name="generator" content="MediaWiki 1.25wmf4" /> -<link rel="shortcut icon" href="/favicon.ico" /> -<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="OpenStack (en)" /> -<link rel="EditURI" type="application/rsd+xml" href="https://wiki.openstack.org/w/api.php?action=rsd" /> -<link rel="alternate" hreflang="x-default" href="/wiki/Main_Page" /> -<link rel="copyright" href="http://creativecommons.org/licenses/by/3.0/" /> -<link rel="alternate" type="application/atom+xml" title="OpenStack Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom" /> -<link rel="stylesheet" href="https://wiki.openstack.org/w/load.php?debug=false&lang=en&modules=ext.uls.nojs%7Cmediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.ui.button&only=styles&skin=strapping&*" /> -<link rel="stylesheet" href="/w/skins/strapping/bootstrap/css/bootstrap.css?303" media="screen" /> -<link rel="stylesheet" href="/w/skins/strapping/bootstrap/awesome/css/font-awesome.css?303" media="screen" /> -<link rel="stylesheet" href="/w/skins/strapping/screen.css?303" media="screen" /> -<link rel="stylesheet" href="/w/skins/strapping/theme.css?303" media="screen" /><meta name="ResourceLoaderDynamicStyles" content="" /> -<link rel="stylesheet" href="https://wiki.openstack.org/w/load.php?debug=false&lang=en&modules=site&only=styles&skin=strapping&*" /> -<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none} -/* cache key: openstack_wiki:resourceloader:filter:minify-css:7:d3155f57bef5c67e78be5cab96908cad */</style> -<script src="https://wiki.openstack.org/w/load.php?debug=false&lang=en&modules=startup&only=scripts&skin=strapping&*"></script> -<script>if(window.mw){ -mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Main_Page","wgTitle":"Main Page","wgCurRevisionId":73535,"wgRevisionId":73535,"wgArticleId":1126,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"Main_Page","wgIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgIsMainPage":true,"wgWikiEditorEnabledModules":{"toolbar":true,"dialogs":true,"hidesig":true,"preview":false,"previewDialog":false,"publish":false},"wgULSAcceptLanguageList":[],"wgULSCurrentAutonym":"English","wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}"}); -}</script><script>if(window.mw){ -mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"editfont":"default","editondblclick":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":1,"extendwatchlist":1,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nickname":"","norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"rcdays":7,"rclimit":50,"rows":25,"showhiddencats":0,"shownumberswatching":1,"showtoolbar":1,"skin":"strapping","stubthreshold":0,"thumbsize":5,"underline":2,"uselivepreview":0,"usenewrc":1,"watchcreations":1,"watchdefault":1,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"watchrollback":0, -"wllimit":250,"useeditwarning":1,"prefershttps":1,"openid-show-openid":true,"openid-userinfo-update-on-login-nickname":false,"openid-userinfo-update-on-login-email":false,"openid-userinfo-update-on-login-fullname":false,"openid-userinfo-update-on-login-language":false,"openid-userinfo-update-on-login-timezone":false,"usebetatoolbar":1,"usebetatoolbar-cgd":1,"translate":0,"translate-editlangs":"default","translate-recent-groups":"","translate-sandbox":"","echo-notify-show-link":true,"echo-show-alert":true,"echo-email-frequency":0,"echo-email-format":"plain-text","echo-subscriptions-email-system":true,"echo-subscriptions-web-system":true,"echo-subscriptions-email-user-rights":true,"echo-subscriptions-web-user-rights":true,"echo-subscriptions-email-other":false,"echo-subscriptions-web-other":true,"echo-subscriptions-email-edit-user-talk":false,"echo-subscriptions-web-edit-user-talk":true,"echo-subscriptions-email-reverted":false,"echo-subscriptions-web-reverted":true, -"echo-subscriptions-email-article-linked":false,"echo-subscriptions-web-article-linked":false,"echo-subscriptions-email-mention":false,"echo-subscriptions-web-mention":true,"uls-preferences":"","language":"en","variant-gan":"gan","variant-iu":"iu","variant-kk":"kk","variant-ku":"ku","variant-shi":"shi","variant-sr":"sr","variant-tg":"tg","variant-uz":"uz","variant-zh":"zh","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"searchNs110":false,"searchNs111":false,"searchNs828":false,"searchNs829":false,"searchNs1198":false,"searchNs1199":false,"variant":"en"});},{},{});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\"});},{},{}); -/* cache key: openstack_wiki:resourceloader:filter:minify-js:7:9103c5351c1af08715851bded530c248 */ -}</script> -<script>if(window.mw){ -mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax","ext.uls.init","ext.uls.interface"]); -}</script> -<style type='text/css'> -li#pt-openidlogin { -background: url(/w/extensions/OpenID/skin/icons/openid-inputicon.png) top left no-repeat; -padding-left: 20px; -text-transform: none; -} -</style> -<!--[if lt IE 7]><style type="text/css">body{behavior:url("/w/skins/strapping/csshover.min.htc")}</style><![endif]--> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> -</head> -<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Main_Page skin-strapping action-view"> - -<div id="userbar" class="navbar navbar-static"> - <div class="navbar-inner"> - <div style="width: auto;" class="container"> - - <div class="pull-left"> - <ul class="nav logo-container" role="navigation"><li id="p-logo"><a href="/wiki/Main_Page" title="Visit the main page"><img src="https://wiki.openstack.org/w/images/thumb/c/c4/OpenStack_Logo_-_notext.png/30px-OpenStack_Logo_-_notext.png" alt="OpenStack"></a><li></ul> - -<!-- 0 --> - <ul class="nav" role="navigation"> - <li class="dropdown" id="p-namespaces" class="vectorMenu"> - <a data-toggle="dropdown" class="dropdown-toggle brand" role="menu">Page <b class="caret"></b></a> - <ul aria-labelledby="Namespaces" role="menu" class="dropdown-menu" > - - <li id="ca-nstab-main" class="selected"><a href="/wiki/Main_Page" title="View the content page [c]" accesskey="c" tabindex="-1">Page</a></li><li id="ca-talk"><a href="/wiki/Talk:Main_Page" title="Discussion about the content page [t]" accesskey="t" tabindex="-1">Discussion</a></li><li id="ca-viewsource"><a href="/w/index.php?title=Main_Page&action=edit" title="This page is protected. You can view its source [e]" accesskey="e" tabindex="-1">View source</a></li><li id="ca-history" class="collapsible"><a href="/w/index.php?title=Main_Page&action=history" title="Past revisions of this page [h]" accesskey="h" tabindex="-1">History</a></li></ul></li></ul> -<!-- /0 --> - -<!-- 0 --> - -<!-- /0 --> - -<!-- 0 --> - -<!-- /0 --> - -<!-- 0 --> - <ul class="nav" role="navigation"> - <li class="dropdown" id="p-Print/export" class="vectorMenu"> - <a data-toggle="dropdown" class="dropdown-toggle" role="menu">Print/export <b class="caret"></b></a> - <ul aria-labelledby="Print/export" role="menu" class="dropdown-menu" > - <li class=""><a id="coll-create_a_book" href="/w/index.php?title=Special:Book&bookcmd=book_creator&referer=Main+Page">Create a book</a></li> - <li class=""><a id="coll-download-as-rl" href="/w/index.php?title=Special:Book&bookcmd=render_article&arttitle=Main+Page&oldid=73535&writer=rl">Download as PDF</a></li> - <li class=""><a id="t-print" href="/w/index.php?title=Main_Page&printable=yes" title="Printable version of this page [p]" accesskey="p">Printable version</a></li> </li> - </ul></ul> -<!-- /Print/export --> - -<!-- 0 --> - - <ul class="nav" role="navigation"> - - <li class="dropdown" id="p-toolbox" class="vectorMenu"> - - <a data-toggle="dropdown" class="dropdown-toggle" role="button">Tools <b class="caret"></b></a> - - <ul aria-labelledby="Tools" role="menu" class="dropdown-menu" > - - <li id="t-info"><a href="/w/index.php?title=Main_Page&action=info" title="More information about this page">Page information</a></li><li id="t-permalink"><a href="/w/index.php?title=Main_Page&oldid=73535" title="Permanent link to this revision of the page">Permanent link</a></li><li class="divider"></li><li id="t-specialpages"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li id="t-recentchangeslinked"><a href="/wiki/Special:RecentChangesLinked/Main_Page" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li class="divider"></li><li id="t-whatlinkshere"><a href="/wiki/Special:WhatLinksHere/Main_Page" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li> </ul> - - </li> - - </ul> - -<!-- /0 --> - </div> - - <div class="pull-right"> - -<!-- 0 --> - <form class="navbar-search" action="/w/index.php" id="searchform"> - <input id="searchInput" class="search-query" type="search" accesskey="f" title="Special:Search" placeholder="Search" name="search" value=""> - <input type="submit" name="fulltext" value="Search" title="Search the pages for this text" id="mw-searchButton" class="searchButton btn hidden" /> </form> - - -<!-- /0 --> - -<!-- 0 --> - <ul class="nav pull-right" role="navigation"> - <li class="dropdown" id="p-notifications" class="vectorMenu"> - </li> - <li class="dropdown" id="p-createaccount" class="vectorMenu"> - <li id="pt-createaccount"><a href="/w/index.php?title=Special:UserLogin&returnto=Main+Page&type=signup" title="You are encouraged to create an account and log in; however, it is not mandatory">Create account</a></li> </li> - <li class="dropdown" id="p-login" class="vectorMenu"> - <li id="pt-login"><a href="/w/index.php?title=Special:UserLogin&returnto=Main+Page" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in</a></li> </li> - <li class="dropdown" id="p-openidlogin" class="vectorMenu"> - <li id="pt-openidlogin"><a href="/w/index.php?title=Special:OpenIDLogin&returnto=Main_Page">Log in / create account with OpenID</a></li> </li> - <li class="dropdown" id="p-personaltools" class="vectorMenu"> - <a data-toggle="dropdown" class="dropdown-toggle" role="button"> - <i class="icon-user"></i> - <b class="caret"></b></a> - <ul aria-labelledby="Personal tools" role="menu" class="dropdown-menu" > - <li id="pt-uls" class="active"><a href="#" class="uls-trigger autonym">English</a></li> </ul> - </li> - </ul> - -<!-- /0 --> - </div> - - </div> - </div> -</div> - - <div id="mw-page-base" class="noprint"></div> - <div id="mw-head-base" class="noprint"></div> - - <!-- Header --> - <div id="page-header" class="container signed-out"> - <section class="span12"> - - - <ul class="navigation nav nav-pills pull-right searchform-disabled"> - - -<!-- 0 --> - - <li class=""><a href="http://www.openstack.org" id="n-Home" rel="nofollow">Home</a></li> - <li class=""><a href="http://www.openstack.org/software" id="n-Software" rel="nofollow">Software</a></li> - <li class=""><a href="http://www.openstack.org/user-stories" id="n-User-Stories" rel="nofollow">User Stories</a></li> - <li class=""><a href="http://www.openstack.org/community" id="n-Community" rel="nofollow">Community</a></li> - <li class=""><a href="http://www.openstack.org/profile" id="n-Profile" rel="nofollow">Profile</a></li> - <li class=""><a href="http://www.openstack.org/blog" id="n-Blog" rel="nofollow">Blog</a></li> - <li class=""><a href="http://wiki.openstack.org" id="n-Wiki" rel="nofollow">Wiki</a></li> - <li class=""><a href="http://docs.openstack.org" id="n-Documentation" rel="nofollow">Documentation</a></li> -<!-- /coll-print_export --> - - </ul> - - </section> - </div> - - - - <!-- content --> - <section id="content" class="mw-body container 0"> - <div id="top"></div> - <div id="mw-js-message" style="display:none;"></div> - <!-- bodyContent --> - <div id="bodyContent"> - <!-- jumpto --> - <div id="jump-to-nav" class="mw-jump"> - Jump to: <a href="#mw-head">navigation</a>, - <a href="#p-search">search</a> - </div> - <!-- /jumpto --> - - <!-- innerbodycontent --> - <div id="innerbodycontent" class="row nolayout"><div class="offset1 span10"> - <h1 id="firstHeading" class="firstHeading page-header"> - <span dir="auto">Main Page</span> - </h1> - <!-- subtitle --> - <div id="contentSub" ></div> - <!-- /subtitle --> - <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div id="mf-index"> -<table border="0" width="100%"><tr><td width="20%" align="center"> -<p><a href="/wiki/File:Openstack-vertical-small.png" class="image"><img alt="Openstack-vertical-small.png" src="/w/images/5/53/Openstack-vertical-small.png" width="216" height="216" /></a> -</p> -</td><td> -<p><b>The OpenStack Mission:</b> to produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable. -</p><p>OpenStack is <a href="/wiki/Open" title="Open">open</a> source, <a href="/wiki/Open" title="Open">openly</a> designed, <a href="/wiki/Open" title="Open">openly</a> developed by an <a href="/wiki/Open" title="Open">open</a> community. -</p> -</td></tr> -</table> -<table border="0" width="100%"> -<tr valign="top"><td width="33%"> -<h4><span class="mw-headline" id="Getting_started">Getting started</span></h4> -<ul><li> Read official <a rel="nofollow" class="external text" href="http://docs.openstack.org/">documentation</a></li> -<li> Ask us questions on <a rel="nofollow" class="external text" href="http://ask.openstack.org/">Ask OpenStack</a></li> -<li> Talk to us on our <a href="/wiki/IRC" title="IRC">IRC channels</a></li> -<li> Join the conversation on our <a href="/wiki/Mailing_Lists" title="Mailing Lists">Mailing Lists</a></li> -<li> All OpenStack <a href="/wiki/Releases" title="Releases">releases</a> and release notes</li> -<li> <b>Get the <a href="/wiki/Getting_The_Code" title="Getting The Code">source code</a></b></li> -<li> Give OpenStack <a rel="nofollow" class="external text" href="http://www.openstack.org/software/start/">a trial run</a></li> -<li> Watch <a href="/wiki/Demo_Videos" title="Demo Videos">demo videos</a></li> -<li> Go back to <a rel="nofollow" class="external text" href="http://www.openstack.org">main OpenStack website</a></li></ul> -</td><td width="33%"> -<h4><span class="mw-headline" id="Contribute_to_OpenStack">Contribute to OpenStack</span></h4> -<ul><li> <b><a href="/wiki/How_To_Contribute" title="How To Contribute">How To Contribute</a></b></li> -<li> <a href="/wiki/Release_Cycle" title="Release Cycle">Explanation of the Release cycle</a></li> -<li> See the <a href="/wiki/Current_release_schedule" title="Current release schedule" class="mw-redirect">current release cycle schedule</a></li> -<li> <b>How to <a rel="nofollow" class="external text" href="http://docs.openstack.org/infra/manual/developers.html">submit changes</a></b></li> -<li> <a rel="nofollow" class="external text" href="https://review.openstack.org/">Code reviews (Gerrit)</a></li> -<li> <a rel="nofollow" class="external text" href="http://docs.openstack.org/infra/manual/developers.html#peer-review">Guidelines for code reviewers</a></li> -<li> <a rel="nofollow" class="external text" href="http://status.openstack.org/zuul/">Gate system status (Zuul)</a></li> -<li> <a rel="nofollow" class="external text" href="http://status.openstack.org/release/">Status of current development release</a></li> -<li> How to use Launchpad <a href="/wiki/Bugs" title="Bugs">Bugs</a> and <a href="/wiki/Blueprints" title="Blueprints">Blueprints</a></li> -<li> <a href="/wiki/How_To_Use_The_Wiki" title="How To Use The Wiki">How to use this wiki</a></li></ul> -</td><td width="33%"> -<h4><span class="mw-headline" id="Community">Community</span></h4> -<ul><li> <a href="/wiki/Open" title="Open">Open</a> - What openness means to us</li> -<li> <a href="/wiki/Governance" title="Governance">Governance</a> - How OpenStack is governed</li> -<li> <a href="/wiki/Meetings" title="Meetings">Online Meetings</a></li> -<li> <a href="/wiki/Summit" title="Summit">Design Summits</a></li> -<li> Mid-cycle <a href="/wiki/Sprints" title="Sprints">Sprints</a></li> -<li> <a href="/wiki/OpenStack_User_Groups" title="OpenStack User Groups">OpenStack User Groups</a></li> -<li> <a rel="nofollow" class="external text" href="http://www.openstack.org/blog/category/newsletter/">OpenStack Blog</a>, with <a rel="nofollow" class="external text" href="http://www.openstack.org/blog/category/newsletter/">weekly newsletters</a></li> -<li> <a rel="nofollow" class="external text" href="http://planet.openstack.org/">Planet OpenStack</a> - Blogs about OpenStack</li> -<li> <a href="/wiki/New_home" title="New home">Categorized index</a> of pages on this wiki</li></ul> -</td></tr></table> -<hr /> -<table border="0" width="100%"><tr><td align="center" width="20%"> -<p><a href="/wiki/File:Openstack-compute-icon.png" class="image"><img alt="Openstack-compute-icon.png" src="/w/images/2/25/Openstack-compute-icon.png" width="111" height="91" /></a> -</p> -</td><td> -<p><b>OpenStack Project Teams</b> are the building blocks to achieve OpenStack's mission. One can think of Project Teams as teams of people using tools (code repository, bug tracker, etc) and coordinated processes to produce a number of deliverables, in order to achieve a clearly stated objective. -</p> -</td></tr> -</table> -<table border="0" width="100%"> -<tr valign="top"><td rowspan="2" width="33%"> -<h4><span class="mw-headline" id="Main_services">Main services</span></h4> -<ul><li> Identity (<b><a href="/wiki/Keystone" title="Keystone">Keystone</a></b>)</li> -<li> Compute (<b><a href="/wiki/Nova" title="Nova">Nova</a></b>)</li> -<li> Image service (<b><a href="/wiki/Glance" title="Glance">Glance</a></b>)</li> -<li> Networking (<b><a href="/wiki/Neutron" title="Neutron">Neutron</a></b>)</li> -<li> Object Storage (<b><a href="/wiki/Swift" title="Swift">Swift</a></b>)</li> -<li> Block Storage (<b><a href="/wiki/Cinder" title="Cinder">Cinder</a></b>)</li> -<li> Orchestration (<b><a href="/wiki/Heat" title="Heat">Heat</a></b>)</li> -<li> Database Service (<b><a href="/wiki/Trove" title="Trove">Trove</a></b>)</li> -<li> Bare Metal (<b><a href="/wiki/Ironic" title="Ironic">Ironic</a></b>)</li> -<li> Data processing (<b><a href="/wiki/Sahara" title="Sahara">Sahara</a></b>)</li> -<li> Message service (<b><a href="/wiki/Zaqar" title="Zaqar">Zaqar</a></b>)</li> -<li> Key management (<b><a href="/wiki/Barbican" title="Barbican">Barbican</a></b>)</li> -<li> DNS (<b><a href="/wiki/Designate" title="Designate">Designate</a></b>)</li> -<li> Shared Filesystems (<b><a href="/wiki/Manila" title="Manila">Manila</a></b>)</li></ul> -</td><td rowspan="2" width="33%"> -<h4><span class="mw-headline" id="Supporting_services">Supporting services</span></h4> -<ul><li> Dashboard (<b><a href="/wiki/Horizon" title="Horizon">Horizon</a></b>)</li> -<li> Telemetry (<b><a href="/wiki/Ceilometer" title="Ceilometer">Ceilometer</a></b>)</li> -<li> Common Libraries (<b><a href="/wiki/Oslo" title="Oslo">Oslo</a></b>)</li> -<li> Deployment (<b><a href="/wiki/TripleO" title="TripleO">TripleO</a></b>)</li></ul> -</td><td width="33%"> -<h4><span class="mw-headline" id="Horizontal_teams">Horizontal teams</span></h4> -<ul><li> <b><a href="/wiki/Documentation" title="Documentation">Documentation</a></b></li> -<li> <b><a href="/wiki/QA" title="QA">QA</a></b> and <b><a href="/wiki/DevStack" title="DevStack">DevStack</a></b></li> -<li> <b><a href="/wiki/Infrastructure" title="Infrastructure">Infrastructure</a></b></li> -<li> <b><a href="/wiki/Release_Cycle_Management" title="Release Cycle Management">Release cycle management</a></b></li></ul> -</td></tr> -<tr valign="bottom"><td> -<p>See also the list of other <a rel="nofollow" class="external text" href="https://wiki.openstack.org/wiki/Category:Working_Groups">working groups</a>. -</p> -</td></tr> -</table> -<p><br /> -</p> -</div> - -<!-- -NewPP limit report -CPU time usage: 0.096 seconds -Real time usage: 0.102 seconds -Preprocessor visited node count: 39/1000000 -Preprocessor generated node count: 60/1000000 -Post‐expand include size: 0/2097152 bytes -Template argument size: 0/2097152 bytes -Highest expansion depth: 2/40 -Expensive parser function count: 0/100 ---> - -<!-- Saved in parser cache with key openstack_wiki:pcache:idhash:1126-0!*!0!!*!5!* and timestamp 20150311091814 and revision id 73535 - --> -</div> </div></div> - <!-- /innerbodycontent --> - - <!-- printfooter --> - <div class="printfooter"> - Retrieved from "<a dir="ltr" href="https://wiki.openstack.org/w/index.php?title=Main_Page&oldid=73535">https://wiki.openstack.org/w/index.php?title=Main_Page&oldid=73535</a>" </div> - <!-- /printfooter --> - <!-- catlinks --> - <div id='catlinks' class='catlinks catlinks-allhidden'></div> <!-- /catlinks --> - <div class="visualClear"></div> - <!-- debughtml --> - <!-- /debughtml --> - </div> - <!-- /bodyContent --> - </section> - <!-- /content --> - - <!-- footer --> - - - <div id="footer" class="footer container"> - <div class="row"> - - <ul id="footer-places"> - <li id="footer-places-privacy"><a href="/wiki/OpenStack:Privacy_policy" title="OpenStack:Privacy policy">Privacy policy</a></li> - <li id="footer-places-about"><a href="/wiki/OpenStack:About" title="OpenStack:About">About OpenStack</a></li> - <li id="footer-places-disclaimer"><a href="/wiki/OpenStack:General_disclaimer" title="OpenStack:General disclaimer">Disclaimers</a></li> - <li id="footer-places-mobileview"><a href="https://wiki.openstack.org/w/index.php?title=Main_Page&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> - </ul> - <ul id="footer-icons" class="noprint"> - <li id="footer-copyrightico"> - <a href="http://creativecommons.org/licenses/by/3.0/"><img src="/w/resources/assets/licenses/cc-by.png" alt="Attribution 3.0 Unported (CC BY 3.0)" width="88" height="31" /></a> - </li> - <li id="footer-poweredbyico"> - <a href="//www.mediawiki.org/"><img src="/w/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" width="88" height="31" /></a> - </li> - </ul> - </div> - </div> - <!-- /footer --> - - - <script>/*<![CDATA[*/window.jQuery && jQuery.ready();/*]]>*/</script><script>if(window.mw){ -mw.loader.state({"skins.strapping":"loading","site":"loading","user":"ready","user.groups":"ready"}); -}</script> -<script>if(window.mw){ -document.write("\u003Cscript src=\"https://wiki.openstack.org/w/load.php?debug=false\u0026amp;lang=en\u0026amp;modules=skins.strapping\u0026amp;only=scripts\u0026amp;skin=strapping\u0026amp;*\"\u003E\u003C/script\u003E"); -}</script> -<script>if(window.mw){ -mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest","ext.uls.pt"],null,true); -}</script> -<script src="//bits.wikimedia.org/geoiplookup"></script> -<script>if(window.mw){ -document.write("\u003Cscript src=\"https://wiki.openstack.org/w/load.php?debug=false\u0026amp;lang=en\u0026amp;modules=site\u0026amp;only=scripts\u0026amp;skin=strapping\u0026amp;*\"\u003E\u003C/script\u003E"); -}</script> -<script type="text/javascript"> -var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); -document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); -</script> -<script type="text/javascript"> -try { -var pageTracker = _gat._getTracker("UA-17511903-1"); -pageTracker._trackPageview(); -} catch(err) {} -</script><script>if(window.mw){ -mw.config.set({"wgBackendResponseTime":130}); -}</script> - </body> -</html> |