Skip to content

Commit

Permalink
Push packaging work into the upstream repo
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit bcbe40d4df7c30af5159ab112df268e70525075e
Author: dobbymoodge <[email protected]>
Date:   Wed Feb 11 15:11:48 2015 -0500

    Add "Requires=" to SDN service files

    To ensure startup of `openshift-sdn-*` services, a `Requires=` line has
    been added that will induce the related service dependencies to also
    start.

    Bug: 1189422
    https://bugzilla.redhat.com/show_bug.cgi?id=1189422

commit 4afe9e17dbb2b465867488de2fb3183967d89110
Author: Scott Dodson <[email protected]>
Date:   Wed Feb 11 14:31:00 2015 -0500

    etcd is http rather than https

commit 1efa3b42f33b1933cb7982af2a93d52c6b5ae5d4
Author: dobbymoodge <[email protected]>
Date:   Fri Jan 30 17:24:41 2015 -0500

    Automatic commit of package [openshift-sdn] release [0.4-1].

commit 504e38c55c4c3f836acec41a47b9a0f5494e1ce2
Author: dobbymoodge <[email protected]>
Date:   Fri Jan 30 17:21:52 2015 -0500

    fix Source0 line in specfile

commit 94034c1ad6cde8efd094f04e07924e4e739a413d
Author: dobbymoodge <[email protected]>
Date:   Fri Jan 30 17:07:26 2015 -0500

    Automatic commit of package [openshift-sdn] release [0.3-1].

commit 296c19deefea20f8ccf6d2427fa55760d6e9810d
Author: dobbymoodge <[email protected]>
Date:   Fri Jan 30 14:16:51 2015 -0500

    Add DOCKER_OPTIONS to sysconfig files

commit 02b4ab39338c7fad1a9244ce02e0b7661c35bf01
Author: Scott Dodson <[email protected]>
Date:   Fri Jan 30 11:02:10 2015 -0500

    Automatic commit of package [openshift-sdn] release [0.2-1].

commit 365e63b1f00ed153e674de73512caaa80236a315
Author: Scott Dodson <[email protected]>
Date:   Fri Jan 30 10:18:41 2015 -0500

    Anything that may be expanded to multiple argv should not be enclosed in braces

commit 1a8b0a81cc3e49d23c28d4e034c001b4da05943d
Author: Scott Dodson <[email protected]>
Date:   Thu Jan 29 16:14:55 2015 -0500

    EnvironmentFile values should not be quoted

commit edc3032b89e0fdc67756564bbdb5d6a1fa07e533
Author: Scott Dodson <[email protected]>
Date:   Thu Jan 29 13:28:58 2015 -0500

    Enclose environment variables in curly braces

    This is necessary whenever the variable isn't on its own

commit 7b0b80232d06960677dff35d3ea7297153dbf837
Author: Scott Dodson <[email protected]>
Date:   Thu Jan 29 11:18:38 2015 -0500

    Fixup requires

    Make openshift-sdn-master and openshift-sdn-node require openshift-sdn of
    matching versions.

    Get rid of version requirement on openshift for now. This may change in the
    future.

commit 5d511a157a24eec2f52b6b2a472cc8c847b07e30
Author: dobbymoodge <[email protected]>
Date:   Thu Jan 29 11:17:52 2015 -0500

    Remove erroneous openshift dependency

    Also snipped out some debugging output

commit a77c166fd8ed07da9f984de79d954bd645339019
Author: dobbymoodge <[email protected]>
Date:   Wed Jan 28 16:55:03 2015 -0500

    Master/Node subpackages, systemd unit files

    Created `openshift-sdn-master` and `openshift-sdn-node` roles via
    subpackages and targeted `systemd` configs

commit 81adaa349ad2562f961663b4325a0ae05d37c087
Author: dobbymoodge <[email protected]>
Date:   Wed Jan 28 11:11:31 2015 -0500

    Added missing Requires:

commit a1e301e21aaeaf23783c54cb101e447df620d362
Author: dobbymoodge <[email protected]>
Date:   Tue Jan 27 15:37:44 2015 -0500

    openshift-sdn-simple-setup-node.sh installed but unpackaged

    Added `openshift-sdn-simple-setup-node.sh` to `%{files}`

commit b58d07e48855eb7aae32995bfb53a07d416525c9
Author: dobbymoodge <[email protected]>
Date:   Tue Jan 27 15:26:08 2015 -0500

    Minor fixups - Source0 URL, Version, install

    `Source0` referenced the wrong repository, `Version` makes more sense as
    `0.1` right now, `%setup` macro didn't get committed last time,
    `openshift-sdn-simple-setup-node.sh` needs to be `install`ed from `$PWD`

commit ccd7e7d38e4d72266c0f862b0a484ca56ec2e3f6
Author: dobbymoodge <[email protected]>
Date:   Tue Jan 27 15:11:16 2015 -0500

    fixed up %setup line

commit 50b458073ac7f0a6a7bec2ffc36ccb24c773ac1f
Author: dobbymoodge <[email protected]>
Date:   Mon Jan 26 15:31:15 2015 -0500

    Initialized to use tito, added specfile

    Added openshift-sdn.spec file, releasers.conf
  • Loading branch information
sdodson committed Feb 16, 2015
1 parent 2d06ba8 commit 9d92689
Show file tree
Hide file tree
Showing 9 changed files with 287 additions and 0 deletions.
141 changes: 141 additions & 0 deletions openshift-sdn.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
#debuginfo not supported with Go
%global debug_package %{nil}
%global gopath %{_datadir}/gocode
%global osdn_gopath _output/local/go
%global gopkg_base github.com/openshift
%global import_path %{gopkg_base}/openshift-sdn
%global commit 1d03a6c75a44a638b9f2590b1475a6c980ce829d

Name: openshift-sdn
Version: 0.4
Release: 1%{?dist}
Summary: SDN solutions for OpenShift
License: ASL 2.0
URL: https://%{import_path}
ExclusiveArch: x86_64
Source0: https://%{import_path}/archive/%{commit}/%{name}-%{version}.tar.gz

BuildRequires: systemd
BuildRequires: golang >= 1.2-7

Requires: openvswitch >= 2.3.1
Requires: bridge-utils

%description
%{summary}

%package master
Summary: Openshift SDN Master
Requires: openshift-sdn = %{version}-%{release}
Requires: openshift-master

%description master
%{summary}

%package node
Summary: Openshift SDN Node
Requires: openshift-sdn = %{version}-%{release}
Requires: openshift-node
Requires: docker-io >= 1.3.2

%description node
%{summary}

%prep
%setup -q

%build

# Set up build environment similar to 'hack/build.sh' script
mkdir -p %{osdn_gopath}/src/%{gopkg_base}
mkdir -p %{osdn_gopath}/bin
ln -s $(pwd) $(pwd)/%{osdn_gopath}/src/%{import_path}

export GOPATH=$(pwd)/%{osdn_gopath}:$(pwd)/Godeps/_workspace:%{buildroot}%{gopath}:%{gopath}

# Default to building all of the components
go build %{import_path}
cp $(pwd)/ovs-simple/bin/openshift-sdn-simple-setup-node.sh $(pwd)/openshift-sdn-simple-setup-node.sh

%install

install -d %{buildroot}%{_bindir}
for bin in openshift-sdn openshift-sdn-simple-setup-node.sh
do
install -p -m 755 ${bin} %{buildroot}%{_bindir}/${bin}
done

install -d -m 0755 %{buildroot}%{_unitdir}
install -m 0644 -t %{buildroot}%{_unitdir} rel-eng/openshift-sdn-master.service
install -m 0644 -t %{buildroot}%{_unitdir} rel-eng/openshift-sdn-node.service

mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
install -m 0644 rel-eng/openshift-sdn-master.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/openshift-sdn-master
install -m 0644 rel-eng/openshift-sdn-node.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/openshift-sdn-node


%files
%defattr(-,root,root,-)
# TODO - add LICENSE: %doc README.md LICENSE
%doc README.md
%{_bindir}/openshift-sdn
%{_bindir}/openshift-sdn-simple-setup-node.sh

%files master
%defattr(-,root,root,-)
%{_unitdir}/openshift-sdn-master.service
%config(noreplace) %{_sysconfdir}/sysconfig/openshift-sdn-master

%post master
%systemd_post %{basename:openshift-sdn-master.service}

%preun master
%systemd_preun %{basename:openshift-sdn-master.service}

%postun master
%systemd_postun


%files node
%defattr(-,root,root,-)
%{_unitdir}/openshift-sdn-node.service
%config(noreplace) %{_sysconfdir}/sysconfig/openshift-sdn-node

%post node
%systemd_post %{basename:openshift-sdn-node.service}

%preun node
%systemd_preun %{basename:openshift-sdn-node.service}

%postun node
%systemd_postun

%changelog
* Fri Jan 30 2015 dobbymoodge <[email protected]> 0.4-1
- fix Source0 line in specfile ([email protected])

* Fri Jan 30 2015 dobbymoodge <[email protected]> 0.3-1
- Add DOCKER_OPTIONS to sysconfig files ([email protected])
- Automatic commit of package [openshift-sdn] release [0.2-1].
([email protected])
- Anything that may be expanded to multiple argv should not be enclosed in
braces ([email protected])
- EnvironmentFile values should not be quoted ([email protected])
- Enclose environment variables in curly braces ([email protected])
- Fixup requires ([email protected])
- Remove erroneous openshift dependency ([email protected])
- Master/Node subpackages, systemd unit files ([email protected])
- Added missing Requires: ([email protected])
- openshift-sdn-simple-setup-node.sh installed but unpackaged
([email protected])
- Minor fixups - Source0 URL, Version, install ([email protected])
- fixed up %%setup line ([email protected])
- Initialized to use tito, added specfile ([email protected])
- Document DOCKER_OPTIONS variable ([email protected])
- Add helpful comment at start of docker sysconfig ([email protected])
- Use $DOCKER_OPTIONS env var for docker settings if present
([email protected])

* Fri Jan 30 2015 Scott Dodson <[email protected]> 0.2-1
- new package built with tito

13 changes: 13 additions & 0 deletions rel-eng/openshift-sdn-master.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Unit]
Description=OpenShift SDN Master
Documentation=https://github.com/openshift/openshift-sdn
After=openshift-master.service
Requires=openshift-master.service

[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/openshift-sdn-master
ExecStart=/usr/bin/openshift-sdn $OPTIONS

[Install]
WantedBy=multi-user.target
44 changes: 44 additions & 0 deletions rel-eng/openshift-sdn-master.sysconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# The $OPTIONS variable can specify any of the command-line options
# available for openshift-sdn:
#
# -alsologtostderr=false: log to standard error as well as files
# -etcd-cafile="": SSL Certificate Authority file used to secure etcd
# communication
# -etcd-certfile="": SSL certification file used to secure etcd
# communication
# -etcd-endpoints="http://127.0.0.1:4001": a comma-delimited list of
# etcd endpoints
# -etcd-keyfile="": SSL key file used to secure etcd communication
# -etcd-path="/registry/sdn/": etcd path
# -help=false: print this message
# -hostname="": Hostname as registered with master (for node mode),
# will default to 'hostname -f'
# -log_backtrace_at=:0: when logging hits line file:N, emit a stack
# trace
# -log_dir="": If non-empty, write log files in this directory
# -logtostderr=false: log to standard error instead of files
# -master=true: Run in master mode
# -minion=false: Run in minion mode
# -public-ip="": Publicly reachable IP address of this host (for node
# mode).
# -skip-setup=false: Skip the setup when in minion mode
# -stderrthreshold=0: logs at or above this threshold go to stderr
# -sync=false: Sync the minions directly to etcd-path (Do not wait
# for PaaS to do so!)
# -v=0: log level for V logs
# -vmodule=: comma-separated list of pattern=N settings for
# file-filtered logging
#
# NOTE: values should not be quoted
#
# openshift-sdn runs in master mode by default, with any relevant
# options set to the defaults documented above.
#
# Example:
# OPTIONS="-etcd-keyfile=/path/to/keyfile"
OPTIONS=

# The $DOCKER_OPTIONS variable is used to overwrite the $OPTIONS
# variable in the /etc/sysconfig/docker file. This is a pretty ugly
# hack, but whatevs
DOCKER_OPTIONS='-b=lbr0 --mtu=1450 --selinux-enabled'
14 changes: 14 additions & 0 deletions rel-eng/openshift-sdn-node.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[Unit]
Description=OpenShift SDN Node
Before=openshift-node.service
After=openvswitch.service
Requires=openvswitch.service
Documentation=https://github.com/openshift/origin

[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/openshift-sdn-node
ExecStart=/usr/bin/openshift-sdn -minion -etcd-endpoints=${MASTER_URL} -public-ip=${MINION_IP} $OPTIONS

[Install]
WantedBy=multi-user.target
58 changes: 58 additions & 0 deletions rel-eng/openshift-sdn-node.sysconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# The $OPTIONS variable can specify any of the command-line options
# available for openshift-sdn:
#
# -alsologtostderr=false: log to standard error as well as files
# -etcd-cafile="": SSL Certificate Authority file used to secure etcd
# communication
# -etcd-certfile="": SSL certification file used to secure etcd
# communication
# -etcd-endpoints="http://127.0.0.1:4001": a comma-delimited list of
# etcd endpoints
# -etcd-keyfile="": SSL key file used to secure etcd communication
# -etcd-path="/registry/sdn/": etcd path
# -help=false: print this message
# -hostname="": Hostname as registered with master (for node mode),
# will default to 'hostname -f'
# -log_backtrace_at=:0: when logging hits line file:N, emit a stack
# trace
# -log_dir="": If non-empty, write log files in this directory
# -logtostderr=false: log to standard error instead of files
# -master=true: Run in master mode
# -minion=false: Run in minion mode
# -public-ip="": Publicly reachable IP address of this host (for node
# mode).
# -skip-setup=false: Skip the setup when in minion mode
# -stderrthreshold=0: logs at or above this threshold go to stderr
# -sync=false: Sync the minions directly to etcd-path (Do not wait
# for PaaS to do so!)
# -v=0: log level for V logs
# -vmodule=: comma-separated list of pattern=N settings for
# file-filtered logging
#
# NOTE: values should not be quoted
#
# For nodes, the etcd endpoint provided by the master must be
# specified in the MASTER_URL variable.
#
# Example:
# MASTER_URL=http://10.0.0.1:4001
MASTER_URL=

# The externally-facing IP for this node must be specified in the
# MINION_IP variable.
#
# Example:
# MINION_IP=10.0.0.20
MINION_IP=

# Any additional options can be specified here, in the OPTIONS
# variable.
#
# Example:
# OPTIONS=-etcd-cafile=/path/to/cafile
OPTIONS=

# The $DOCKER_OPTIONS variable is used to overwrite the $OPTIONS
# variable in the /etc/sysconfig/docker file. This is a pretty ugly
# hack, but whatevs
DOCKER_OPTIONS='-b=lbr0 --mtu=1450 --selinux-enabled'
3 changes: 3 additions & 0 deletions rel-eng/packages/.readme
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
the rel-eng/packages directory contains metadata files
named after their packages. Each file has the latest tagged
version and the project's relative directory.
1 change: 1 addition & 0 deletions rel-eng/packages/openshift-sdn
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.4-1 ./
8 changes: 8 additions & 0 deletions rel-eng/releasers.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[brew]
releaser = tito.release.DistGitReleaser
branches = libra-rhel-6

[ose-3.0]
releaser = tito.release.DistGitReleaser
branches = rhose-3.0-rhel-7

5 changes: 5 additions & 0 deletions rel-eng/tito.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[buildconfig]
builder = tito.builder.Builder
tagger = tito.tagger.VersionTagger
changelog_do_not_remove_cherrypick = 0
changelog_format = %s (%ae)

0 comments on commit 9d92689

Please sign in to comment.