Skip to content

Commit

Permalink
Merge pull request #3 from Cray-HPE/feature/github-csm-1.2
Browse files Browse the repository at this point in the history
Github Migration
  • Loading branch information
ecozzi-hpe authored Aug 5, 2021
2 parents 83746c3 + 215a148 commit dd4ccbd
Show file tree
Hide file tree
Showing 15 changed files with 241 additions and 188 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.5
3.3.6
10 changes: 4 additions & 6 deletions update_versions.sh → CODEOWNERS
100755 → 100644
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env sh
# Copyright 2021 Hewlett Packard Enterprise Development LP
#
# Permission is hereby granted, free of charge, to any person obtaining a
Expand All @@ -21,8 +20,7 @@
#
# (MIT License)

./install_cms_meta_tools.sh || exit 1
RC=0
./cms_meta_tools/update_versions/update_versions.sh || RC=1
rm -rf ./cms_meta_tools
exit $RC
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo.
* @Cray-HPE/cray-management-systems
2 changes: 1 addition & 1 deletion Dockerfile.service → Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
# (MIT License)

# Create 'base' image target
FROM arti.dev.cray.com/baseos-docker-master-local/alpine:3.13.5 as base
FROM artifactory.algol60.net/docker.io/alpine:latest as base
WORKDIR /app
RUN mkdir -p /var/ims/data
VOLUME ["/var/ims/data"]
Expand Down
126 changes: 126 additions & 0 deletions Jenkinsfile.github
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
@Library('csm-shared-library') _

pipeline {
agent {
label "metal-gcp-builder"
}

options {
buildDiscarder(logRotator(numToKeepStr: "10"))
timestamps()
}

environment {
NAME = "cray-ims"
DESCRIPTION = "Cray Management Image Management Service"
IS_STABLE = getBuildIsStable()
DOCKER_NAME = "cms-ims-service"
RPM_NAME = "cray-ims-crayctldeploy-test"
}

stages {
stage("Clone cms_meta_tools repo") {
steps {
withCredentials([gitUsernamePassword(credentialsId: 'jenkins-algol60-cray-hpe-github-integration')]) {
sh 'git clone --depth 1 --no-single-branch https://github.com/Cray-HPE/cms-meta-tools.git ./cms_meta_tools'
}
}
}

stage("Set Versions") {
steps {
script {
// Get version from version.py
def ver = sh(returnStdout: true, script: "cat .version").trim()
echo "Base version is ${ver}"

// Generate docker version string
def dockerver = getDockerBuildVersion(isStable: env.IS_STABLE)
echo "Docker version is ${dockerver}"

// Write docker version string to .docker_version
writeFile(file: ".docker_version", text: dockerver)

// Generate chart version string
def chartver = dockerver.replaceAll("_", "+")
echo "Chart version is ${chartver}"

// Write chart version to .chart_version
writeFile(file: ".chart_version", text: chartver)
}
}
}

stage("Prepare") {
steps {
sh "make prepare"
}
}

stage("Build Prep") {
steps {
sh "make build_prep"
}
}

stage("Lint") {
steps {
sh "make lint"
}
}

stage("Unittests") {
steps {
sh "make unittests"
}
}

stage("Build") {
parallel {
stage('Image') {
environment {
DOCKER_VERSION = sh(returnStdout: true, script: "head -1 .docker_version").trim()
DOCKER_ARGS = getDockerBuildArgs(name: env.NAME, description: env.DESCRIPTION, version: env.DOCKER_VERSION)
}

steps {
sh "make image"
}
}

stage('Chart') {
environment {
DOCKER_VERSION = sh(returnStdout: true, script: "head -1 .docker_version").trim()
CHART_VERSION = sh(returnStdout: true, script: "head -1 .chart_version").trim()
}

steps {
updateCsmHelmChartAppVersion(chartPath: "${WORKSPACE}/kubernetes/${NAME}", appVersion: env.DOCKER_VERSION)
sh "make chart"
}
}

stage('Rpm') {
steps {
sh "make rpm"
}
}
}
}

stage('Publish ') {
environment {
DOCKER_VERSION = sh(returnStdout: true, script: "head -1 .docker_version").trim()
}

steps {
script {
publishCsmDockerImage(image: env.DOCKER_NAME, tag: env.DOCKER_VERSION, isStable: env.IS_STABLE)
publishCsmHelmCharts(component: env.NAME, chartsPath: "${WORKSPACE}/kubernetes/.packaged", isStable: env.IS_STABLE)
publishCsmRpms(component: env.RPM_NAME, pattern: "dist/rpmbuild/RPMS/x86_64/*.rpm", arch: "x86_64", isStable: env.IS_STABLE)
publishCsmRpms(component: env.RPM_NAME, pattern: "dist/rpmbuild/SRPMS/*.rpm", arch: "src", isStable: env.IS_STABLE)
}
}
}
}
}
29 changes: 0 additions & 29 deletions Jenkinsfile.service

This file was deleted.

9 changes: 0 additions & 9 deletions Jenkinsfile.sles15ncn-craytest

This file was deleted.

80 changes: 80 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Copyright 2019-2021 Hewlett Packard Enterprise Development LP
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# (MIT License)

NAME ?= cray-ims
DOCKER_NAME ?= cray-ims-service
CHART_PATH ?= kubernetes
DOCKER_VERSION ?= $(shell head -1 .docker_version)
CHART_VERSION ?= $(shell head -1 .chart_version)

HELM_UNITTEST_IMAGE ?= quintush/helm-unittest:3.3.0-0.2.5

SPEC_NAME ?= cray-ims-crayctldeploy-test
RPM_NAME ?= cray-ims-crayctldeploy-test
SPEC_FILE ?= ${SPEC_NAME}.spec
SPEC_VERSION ?= $(shell head -1 .version)
BUILD_METADATA ?= "1~development~$(shell git rev-parse --short HEAD)"
SOURCE_NAME ?= ${RPM_NAME}-${SPEC_VERSION}
BUILD_DIR ?= $(PWD)/dist/rpmbuild
SOURCE_PATH := ${BUILD_DIR}/SOURCES/${SOURCE_NAME}.tar.bz2

all : prepare build_prep lint unittests image chart rpm
chart: chart_setup chart_package
rpm: rpm_package_source rpm_build_source rpm_build

prepare:
rm -rf $(BUILD_DIR)
mkdir -p $(BUILD_DIR)/SPECS $(BUILD_DIR)/SOURCES
cp $(SPEC_FILE) $(BUILD_DIR)/SPECS/

build_prep:
./cms_meta_tools/scripts/runBuildPrep.sh

image:
docker build --pull ${DOCKER_ARGS} --tag '${DOCKER_NAME}:${DOCKER_VERSION}' .

lint:
./cms_meta_tools/scripts/runLint.sh

unittests:
( DOCKER_NAME=${DOCKER_NAME} VERSION=${DOCKER_VERSION} ./runUnitTests.sh )

chart_setup:
mkdir -p ${CHART_PATH}/.packaged
printf "\nglobal:\n appVersion: ${CHART_VERSION}" >> ${CHART_PATH}/${NAME}/values.yaml

chart_package:
helm dep up ${CHART_PATH}/${NAME}
helm package ${CHART_PATH}/${NAME} -d ${CHART_PATH}/.packaged --app-version ${DOCKER_VERSION} --version ${CHART_VERSION}

chart_test:
helm lint "${CHART_PATH}/${NAME}"
docker run --rm -v ${PWD}/${CHART_PATH}:/apps ${HELM_UNITTEST_IMAGE} -3 ${NAME}

rpm_package_source:
tar --transform 'flags=r;s,^,/$(SOURCE_NAME)/,' --exclude .git --exclude dist --exclude ./cms_meta_tools -cvjf $(SOURCE_PATH) .

rpm_build_source:
BUILD_METADATA=$(BUILD_METADATA) rpmbuild -ts $(SOURCE_PATH) --define "_topdir $(BUILD_DIR)"

rpm_build:
BUILD_METADATA=$(BUILD_METADATA) rpmbuild -ba $(SPEC_FILE) --define "_topdir $(BUILD_DIR)"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ The following are required:

## Building
```
$ docker build -t ims-service:dev -f Dockerfile.service .
$ docker build -t ims-service:dev -f Dockerfile .
```
## Running Locally
Expand Down
2 changes: 0 additions & 2 deletions cray-ims-crayctldeploy-test.spec
Original file line number Diff line number Diff line change
Expand Up @@ -86,5 +86,3 @@ rmdir %{buildroot}%{imslib}
%attr(644, root, root) %{imslib}/ims_test_ims_helpers.py
%attr(644, root, root) %{imslib}/ims_test_k8s_helpers.py
%attr(644, root, root) %{imslib}/ims_test_logger.py

%changelog
6 changes: 3 additions & 3 deletions kubernetes/cray-ims/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ ims_config:
# {cray_ims_utils_image_org}/{cray_ims_utils_image_name}:{cray_ims_utils_image_version}
cray_ims_utils_image_org: "cray"
cray_ims_utils_image_name: "cray-ims-utils"
cray_ims_utils_image_version: "latest"
cray_ims_utils_image_version: "IMS_UTILS_VERSION"

# {cray_ims_kiwi_ng_opensuse_x86_64_builder_image_org}/{`cray_ims_kiwi_ng_opensuse_x86_64_builder_image_name`}:{cray_ims_kiwi_ng_opensuse_x86_64_builder_image_version}
cray_ims_kiwi_ng_opensuse_x86_64_builder_image_org: "cray"
cray_ims_kiwi_ng_opensuse_x86_64_builder_image_name: "cray-ims-kiwi-ng-opensuse-x86_64-builder"
cray_ims_kiwi_ng_opensuse_x86_64_builder_image_version: "latest"
cray_ims_kiwi_ng_opensuse_x86_64_builder_image_version: "IMS_KIWI_NG_VERSION"

# {cray_ims_sshd_image_org}/{cray_ims_sshd_image_name}:{cray_ims_sshd_image_version}
cray_ims_sshd_image_org: "cray"
cray_ims_sshd_image_name: "cray-ims-sshd"
cray_ims_sshd_image_version: "latest"
cray_ims_sshd_image_version: "IMS_SSHD_VERSION"

api_gw:
api_gw_service_name: "istio-ingressgateway"
Expand Down
Loading

0 comments on commit dd4ccbd

Please sign in to comment.