From 1b3eec2c1529a7ca1e087a9a2efc4c5fa39325b5 Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 12:26:40 +0000 Subject: Simplify and correct ceph.configure --- ceph.configure | 90 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 70 insertions(+), 20 deletions(-) diff --git a/ceph.configure b/ceph.configure index 14fa6f6b..c3cd92d1 100644 --- a/ceph.configure +++ b/ceph.configure @@ -20,32 +20,60 @@ import os import subprocess import shutil import re +import stat systemd_monitor_template = """ [Unit] Description=Ceph Monitor firstboot setup +After=network-online.target [Service] -ExecStart=/usr/bin/ceph-mon --cluster {cluster} --mkfs -c {conf} -i {hostname} {keyring} -ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-{cluster}-mon-fboot.service +ExecStart=/bin/bash -c "/root/setup-ceph-head | tee /root/monitor-setuplog" +ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-monitor-fboot.service [Install] Wanted-By=multi-user.target """ -systemd_monitor_fname_template = "ceph-{cluster}-mon-fboot.service" + +systemd_monitor_fname_template = "ceph-monitor-fboot.service" systemd_osd_template = """ [Unit] Description=Ceph osd firstboot setup +After=network-online.target [Service] -ExecStart=/usr/sbin/ceph-disk prepare --cluster {cluster} --fs-type btrfs {data} -ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-{cluster}-osd-{osd_id}-fboot.service +ExecStart=/bin/bash -c "/root/setup-ceph-node | tee /root/storage-setuplog" +ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-storage-fboot.service [Install] Wanted-By=multi-user.target """ -systemd_osd_fname_template = "ceph-{cluster}-osd-{osd_id}-fboot.service" +systemd_osd_fname_template = "ceph-storage-fboot.service" + +ceph_monitor_config_template = """#!/bin/bash +ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *' +ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow' +ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring +monmaptool --create --add 0 10.0.100.2 --fsid 9ceb9257-7541-4de4-b34b-586079986700 /tmp/monmap +mkdir /var/lib/ceph/mon/ceph-0 +ceph-mon --mkfs -i 0 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring +/etc/init.d/ceph start mon.0 +touch ~/monitor-configured +""" + +ceph_storage_config_template = """#!/bin/bash +scp 10.0.100.2:/var/lib/ceph/bootstrap-osd/ceph.keyring /var/lib/ceph/bootstrap-osd/ +echo -e "n\np\n1\n\n\nw\n" | fdisk /dev/sdb +ceph-disk prepare --cluster ceph --cluster-uuid 9ceb9257-7541-4de4-b34b-586079986700 --fs-type ext4 /dev/sdb1 +sudo ceph-disk activate /dev/sdb1 +/etc/init.d/ceph start osd.0 +touch ~/storage-configured +""" + +executable_file_permissions = stat.S_IRUSR | stat.S_IXUSR | stat.S_IWUSR | \ + stat.S_IXGRP | stat.S_IRGRP | \ + stat.S_IXOTH | stat.S_IROTH class CephConfigurationExtension(cliapp.Application): """ @@ -75,7 +103,6 @@ class CephConfigurationExtension(cliapp.Application): CEPH_MON_KEYRING - Location of monitor keyring. Required by the monitor if using cephx authentication. - CEPH_OSD_X_DATA_DIR - Location of data directory for OSD. Create an OSD daemon on image. 'X' is an integer id, many osd daemons may be run on same server. @@ -121,6 +148,8 @@ class CephConfigurationExtension(cliapp.Application): # Configure any monitor daemons if "CEPH_MON" in os.environ: self.create_mon_data_dir(os.environ.get("CEPH_MON_KEYRING")) + else: + self.create_osd_startup_script("None", "None") # Configure any object storage daemons osd_re = r"CEPH_OSD_(\d+)_DATA_DIR$" @@ -137,6 +166,14 @@ class CephConfigurationExtension(cliapp.Application): if "CEPH_MDS" in os.environ: self.create_mds_data_dir() + # Create a fake 'partprobe' + fake_partprobe_filename = self.dest_dir + "/sbin/partprobe" + fake_partprobe = open(fake_partprobe_filename, 'w') + fake_partprobe.write("#!/bin/bash\nexit 0;\n") + fake_partprobe.close() + os.chmod(fake_partprobe_filename, executable_file_permissions) + self.create_startup_scripts() + def copy_to_img(self, src_file, dest_file): shutil.copy(src_file, self.dest_dir + dest_file) @@ -171,17 +208,13 @@ class CephConfigurationExtension(cliapp.Application): dest_keyring = os.path.join(self.tmp_dir, "{}-{}.mon.keyring".format(self.cluster_name, self.hostname)) self.copy_to_img(src_keyring, dest_keyring) - keyring = "--keyring " + dest_keyring - mon_systemd_fname = systemd_monitor_fname_template.format(cluster=self.cluster_name) - mon_systemd = open(self.dest_dir + os.path.join(self.systemd_dir, mon_systemd_fname), "w") - mon_systemd.write(systemd_monitor_template.format(cluster=self.cluster_name, - conf=self.conf_file, - hostname=self.hostname, - keyring=keyring)) + mon_systemd_fname = systemd_monitor_fname_template + systemd_script_name = self.dest_dir + os.path.join(self.systemd_dir, mon_systemd_fname) + mon_systemd = open(systemd_script_name, 'w') + mon_systemd.write(systemd_monitor_template) mon_systemd.close() - #Create a symlink to the multi user target self.symlink_to_multiuser(mon_systemd_fname) @@ -192,11 +225,13 @@ class CephConfigurationExtension(cliapp.Application): #Create the osd data dir os.makedirs(self.dest_dir + data_dir) - osd_systemd_fname = systemd_osd_fname_template.format(cluster=self.cluster_name, osd_id=osd_id) - osd_systemd = open(self.dest_dir + os.path.join(self.systemd_dir, osd_systemd_fname), "w") - osd_systemd.write(systemd_osd_template.format(cluster=self.cluster_name, - data=data_dir, - osd_id=osd_id)) + def create_osd_startup_script(self, osd_id, data_dir): + osd_systemd_fname = systemd_osd_fname_template + osd_full_name = self.dest_dir + os.path.join(self.systemd_dir, osd_systemd_fname) + + osd_systemd = open(osd_full_name, 'w') + + osd_systemd.write(systemd_osd_template) osd_systemd.close() #Create a symlink to the multi user target @@ -213,4 +248,19 @@ class CephConfigurationExtension(cliapp.Application): open(self.dest_dir + sysvinit_file, 'a').close() + def create_startup_scripts(self): + head_setup_file = os.path.join(self.dest_dir, "root", "setup-ceph-head") + + ceph_head_setup = open(head_setup_file, "w") + ceph_head_setup.write(ceph_monitor_config_template) + ceph_head_setup.close() + os.chmod(head_setup_file, executable_file_permissions) + + osd_setup_file = os.path.join(self.dest_dir, "root", "setup-ceph-node") + ceph_node_setup = open(osd_setup_file, "w") + ceph_node_setup.write(ceph_storage_config_template) + ceph_node_setup.close() + os.chmod(osd_setup_file, executable_file_permissions) + + CephConfigurationExtension().run() -- cgit v1.2.1 From 26f3e00112b4c2d5184671376d59605d23dd4ad9 Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 10:47:30 +0000 Subject: Add morphs generated by import tool --- strata/chef/chef-master.morph | 13 +++++++++++++ strata/chef/chef-zero-2.2.morph | 13 +++++++++++++ strata/chef/coderay-1.1.0.morph | 13 +++++++++++++ strata/chef/diff-lcs-1.2.5.morph | 13 +++++++++++++ strata/chef/ffi-1.9.3.morph | 13 +++++++++++++ strata/chef/ffi-yajl-master.morph | 13 +++++++++++++ strata/chef/hashie-2.1.2.morph | 13 +++++++++++++ strata/chef/highline-master.morph | 13 +++++++++++++ strata/chef/ipaddress-0.8.0.morph | 13 +++++++++++++ strata/chef/json-1.8.1.morph | 13 +++++++++++++ strata/chef/libyajl2-1.0.1.morph | 13 +++++++++++++ strata/chef/method_source-0.8.2.morph | 13 +++++++++++++ strata/chef/mime-types-1.25.1.morph | 13 +++++++++++++ strata/chef/mixlib-authentication-1.3.0.morph | 13 +++++++++++++ strata/chef/mixlib-cli-1.5.0.morph | 13 +++++++++++++ strata/chef/mixlib-config-2.1.0.morph | 13 +++++++++++++ strata/chef/mixlib-log-master.morph | 13 +++++++++++++ strata/chef/mixlib-shellout-1.4.0.morph | 13 +++++++++++++ strata/chef/net-dhcp-1.2.1.morph | 13 +++++++++++++ strata/chef/net-ssh-2.9.1.morph | 13 +++++++++++++ strata/chef/net-ssh-gateway-1.2.0.morph | 13 +++++++++++++ strata/chef/net-ssh-multi-1.2.0.morph | 13 +++++++++++++ strata/chef/ohai-master.morph | 13 +++++++++++++ strata/chef/pry-master.morph | 13 +++++++++++++ strata/chef/rack-1.5.2.morph | 13 +++++++++++++ strata/chef/slop-3.6.0.morph | 13 +++++++++++++ strata/chef/systemu-master.morph | 13 +++++++++++++ strata/chef/wmi-lite-1.0.0.morph | 13 +++++++++++++ 28 files changed, 364 insertions(+) create mode 100644 strata/chef/chef-master.morph create mode 100644 strata/chef/chef-zero-2.2.morph create mode 100644 strata/chef/coderay-1.1.0.morph create mode 100644 strata/chef/diff-lcs-1.2.5.morph create mode 100644 strata/chef/ffi-1.9.3.morph create mode 100644 strata/chef/ffi-yajl-master.morph create mode 100644 strata/chef/hashie-2.1.2.morph create mode 100644 strata/chef/highline-master.morph create mode 100644 strata/chef/ipaddress-0.8.0.morph create mode 100644 strata/chef/json-1.8.1.morph create mode 100644 strata/chef/libyajl2-1.0.1.morph create mode 100644 strata/chef/method_source-0.8.2.morph create mode 100644 strata/chef/mime-types-1.25.1.morph create mode 100644 strata/chef/mixlib-authentication-1.3.0.morph create mode 100644 strata/chef/mixlib-cli-1.5.0.morph create mode 100644 strata/chef/mixlib-config-2.1.0.morph create mode 100644 strata/chef/mixlib-log-master.morph create mode 100644 strata/chef/mixlib-shellout-1.4.0.morph create mode 100644 strata/chef/net-dhcp-1.2.1.morph create mode 100644 strata/chef/net-ssh-2.9.1.morph create mode 100644 strata/chef/net-ssh-gateway-1.2.0.morph create mode 100644 strata/chef/net-ssh-multi-1.2.0.morph create mode 100644 strata/chef/ohai-master.morph create mode 100644 strata/chef/pry-master.morph create mode 100644 strata/chef/rack-1.5.2.morph create mode 100644 strata/chef/slop-3.6.0.morph create mode 100644 strata/chef/systemu-master.morph create mode 100644 strata/chef/wmi-lite-1.0.0.morph diff --git a/strata/chef/chef-master.morph b/strata/chef/chef-master.morph new file mode 100644 index 00000000..7500b82e --- /dev/null +++ b/strata/chef/chef-master.morph @@ -0,0 +1,13 @@ +name: chef-12.0.0.alpha.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: chef-12.0.0.alpha.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build chef.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./chef-12.0.0.alpha.0.gem diff --git a/strata/chef/chef-zero-2.2.morph b/strata/chef/chef-zero-2.2.morph new file mode 100644 index 00000000..11407ae3 --- /dev/null +++ b/strata/chef/chef-zero-2.2.morph @@ -0,0 +1,13 @@ +name: chef-zero-2.2 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: chef-zero-2.2-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build chef-zero.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./chef-zero-2.2.gem diff --git a/strata/chef/coderay-1.1.0.morph b/strata/chef/coderay-1.1.0.morph new file mode 100644 index 00000000..a380b911 --- /dev/null +++ b/strata/chef/coderay-1.1.0.morph @@ -0,0 +1,13 @@ +name: coderay-1.1.0.rc1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: coderay-1.1.0.rc1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build coderay.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./coderay-1.1.0.rc1.gem diff --git a/strata/chef/diff-lcs-1.2.5.morph b/strata/chef/diff-lcs-1.2.5.morph new file mode 100644 index 00000000..3585467f --- /dev/null +++ b/strata/chef/diff-lcs-1.2.5.morph @@ -0,0 +1,13 @@ +name: diff-lcs-1.2.5 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: diff-lcs-1.2.5-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build diff-lcs.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./diff-lcs-1.2.5.gem diff --git a/strata/chef/ffi-1.9.3.morph b/strata/chef/ffi-1.9.3.morph new file mode 100644 index 00000000..672f0bd7 --- /dev/null +++ b/strata/chef/ffi-1.9.3.morph @@ -0,0 +1,13 @@ +name: ffi-1.9.3 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: ffi-1.9.3-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build ffi.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./ffi-1.9.3.gem diff --git a/strata/chef/ffi-yajl-master.morph b/strata/chef/ffi-yajl-master.morph new file mode 100644 index 00000000..5d3c0792 --- /dev/null +++ b/strata/chef/ffi-yajl-master.morph @@ -0,0 +1,13 @@ +name: ffi-yajl-1.0.2 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: ffi-yajl-1.0.2-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build ffi-yajl.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./ffi-yajl-1.0.2.gem diff --git a/strata/chef/hashie-2.1.2.morph b/strata/chef/hashie-2.1.2.morph new file mode 100644 index 00000000..a4fb46f6 --- /dev/null +++ b/strata/chef/hashie-2.1.2.morph @@ -0,0 +1,13 @@ +name: hashie-2.1.2 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: hashie-2.1.2-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build hashie.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./hashie-2.1.2.gem diff --git a/strata/chef/highline-master.morph b/strata/chef/highline-master.morph new file mode 100644 index 00000000..5615f6b2 --- /dev/null +++ b/strata/chef/highline-master.morph @@ -0,0 +1,13 @@ +name: highline-1.6.21 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: highline-1.6.21-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build highline.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./highline-1.6.21.gem diff --git a/strata/chef/ipaddress-0.8.0.morph b/strata/chef/ipaddress-0.8.0.morph new file mode 100644 index 00000000..fdaa5de6 --- /dev/null +++ b/strata/chef/ipaddress-0.8.0.morph @@ -0,0 +1,13 @@ +name: ipaddress-0.8.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: ipaddress-0.8.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build ipaddress.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./ipaddress-0.8.0.gem diff --git a/strata/chef/json-1.8.1.morph b/strata/chef/json-1.8.1.morph new file mode 100644 index 00000000..cf25abca --- /dev/null +++ b/strata/chef/json-1.8.1.morph @@ -0,0 +1,13 @@ +name: json-1.8.1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: json-1.8.1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build json.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./json-1.8.1.gem diff --git a/strata/chef/libyajl2-1.0.1.morph b/strata/chef/libyajl2-1.0.1.morph new file mode 100644 index 00000000..70135ace --- /dev/null +++ b/strata/chef/libyajl2-1.0.1.morph @@ -0,0 +1,13 @@ +name: libyajl2-1.0.1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: libyajl2-1.0.1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build libyajl2.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./libyajl2-1.0.1.gem diff --git a/strata/chef/method_source-0.8.2.morph b/strata/chef/method_source-0.8.2.morph new file mode 100644 index 00000000..5ba20da6 --- /dev/null +++ b/strata/chef/method_source-0.8.2.morph @@ -0,0 +1,13 @@ +name: method_source-0.8.1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: method_source-0.8.1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build method_source.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./method_source-0.8.1.gem diff --git a/strata/chef/mime-types-1.25.1.morph b/strata/chef/mime-types-1.25.1.morph new file mode 100644 index 00000000..453c42d5 --- /dev/null +++ b/strata/chef/mime-types-1.25.1.morph @@ -0,0 +1,13 @@ +name: mime-types-1.25.1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: mime-types-1.25.1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build mime-types.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./mime-types-1.25.1.gem diff --git a/strata/chef/mixlib-authentication-1.3.0.morph b/strata/chef/mixlib-authentication-1.3.0.morph new file mode 100644 index 00000000..8792ff2c --- /dev/null +++ b/strata/chef/mixlib-authentication-1.3.0.morph @@ -0,0 +1,13 @@ +name: mixlib-authentication-1.3.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: mixlib-authentication-1.3.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build mixlib-authentication.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./mixlib-authentication-1.3.0.gem diff --git a/strata/chef/mixlib-cli-1.5.0.morph b/strata/chef/mixlib-cli-1.5.0.morph new file mode 100644 index 00000000..84f3a4b7 --- /dev/null +++ b/strata/chef/mixlib-cli-1.5.0.morph @@ -0,0 +1,13 @@ +name: mixlib-cli-1.5.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: mixlib-cli-1.5.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build mixlib-cli.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./mixlib-cli-1.5.0.gem diff --git a/strata/chef/mixlib-config-2.1.0.morph b/strata/chef/mixlib-config-2.1.0.morph new file mode 100644 index 00000000..cc6077a5 --- /dev/null +++ b/strata/chef/mixlib-config-2.1.0.morph @@ -0,0 +1,13 @@ +name: mixlib-config-2.1.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: mixlib-config-2.1.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build mixlib-config.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./mixlib-config-2.1.0.gem diff --git a/strata/chef/mixlib-log-master.morph b/strata/chef/mixlib-log-master.morph new file mode 100644 index 00000000..ddd956c1 --- /dev/null +++ b/strata/chef/mixlib-log-master.morph @@ -0,0 +1,13 @@ +name: mixlib-log-1.6.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: mixlib-log-1.6.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build mixlib-log.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./mixlib-log-1.6.0.gem diff --git a/strata/chef/mixlib-shellout-1.4.0.morph b/strata/chef/mixlib-shellout-1.4.0.morph new file mode 100644 index 00000000..7087c1c6 --- /dev/null +++ b/strata/chef/mixlib-shellout-1.4.0.morph @@ -0,0 +1,13 @@ +name: mixlib-shellout-1.4.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: mixlib-shellout-1.4.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build mixlib-shellout.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./mixlib-shellout-1.4.0.gem diff --git a/strata/chef/net-dhcp-1.2.1.morph b/strata/chef/net-dhcp-1.2.1.morph new file mode 100644 index 00000000..88eb4963 --- /dev/null +++ b/strata/chef/net-dhcp-1.2.1.morph @@ -0,0 +1,13 @@ +name: net-dhcp-1.2.1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: net-dhcp-1.2.1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build net-dhcp.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./net-dhcp-1.2.1.gem diff --git a/strata/chef/net-ssh-2.9.1.morph b/strata/chef/net-ssh-2.9.1.morph new file mode 100644 index 00000000..52afaba6 --- /dev/null +++ b/strata/chef/net-ssh-2.9.1.morph @@ -0,0 +1,13 @@ +name: net-ssh-2.9.1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: net-ssh-2.9.1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build net-ssh.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./net-ssh-2.9.1.gem diff --git a/strata/chef/net-ssh-gateway-1.2.0.morph b/strata/chef/net-ssh-gateway-1.2.0.morph new file mode 100644 index 00000000..b6e9dc39 --- /dev/null +++ b/strata/chef/net-ssh-gateway-1.2.0.morph @@ -0,0 +1,13 @@ +name: net-ssh-gateway-1.2.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: net-ssh-gateway-1.2.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build net-ssh-gateway.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./net-ssh-gateway-1.2.0.gem diff --git a/strata/chef/net-ssh-multi-1.2.0.morph b/strata/chef/net-ssh-multi-1.2.0.morph new file mode 100644 index 00000000..de59ecc9 --- /dev/null +++ b/strata/chef/net-ssh-multi-1.2.0.morph @@ -0,0 +1,13 @@ +name: net-ssh-multi-1.2.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: net-ssh-multi-1.2.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build net-ssh-multi.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./net-ssh-multi-1.2.0.gem diff --git a/strata/chef/ohai-master.morph b/strata/chef/ohai-master.morph new file mode 100644 index 00000000..f47dda35 --- /dev/null +++ b/strata/chef/ohai-master.morph @@ -0,0 +1,13 @@ +name: ohai-7.4.0.dev +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: ohai-7.4.0.dev-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build ohai.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./ohai-7.4.0.dev.gem diff --git a/strata/chef/pry-master.morph b/strata/chef/pry-master.morph new file mode 100644 index 00000000..07ebca7a --- /dev/null +++ b/strata/chef/pry-master.morph @@ -0,0 +1,13 @@ +name: pry-0.10.1 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: pry-0.10.1-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build pry.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./pry-0.10.1.gem diff --git a/strata/chef/rack-1.5.2.morph b/strata/chef/rack-1.5.2.morph new file mode 100644 index 00000000..50fd960c --- /dev/null +++ b/strata/chef/rack-1.5.2.morph @@ -0,0 +1,13 @@ +name: rack-1.5.2 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: rack-1.5.2-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build rack.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./rack-1.5.2.gem diff --git a/strata/chef/slop-3.6.0.morph b/strata/chef/slop-3.6.0.morph new file mode 100644 index 00000000..32101078 --- /dev/null +++ b/strata/chef/slop-3.6.0.morph @@ -0,0 +1,13 @@ +name: slop-3.6.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: slop-3.6.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build slop.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./slop-3.6.0.gem diff --git a/strata/chef/systemu-master.morph b/strata/chef/systemu-master.morph new file mode 100644 index 00000000..3cc0a5e2 --- /dev/null +++ b/strata/chef/systemu-master.morph @@ -0,0 +1,13 @@ +name: systemu-2.6.4 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: systemu-2.6.4-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build systemu.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./systemu-2.6.4.gem diff --git a/strata/chef/wmi-lite-1.0.0.morph b/strata/chef/wmi-lite-1.0.0.morph new file mode 100644 index 00000000..bb4b4127 --- /dev/null +++ b/strata/chef/wmi-lite-1.0.0.morph @@ -0,0 +1,13 @@ +name: wmi-lite-1.0.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: wmi-lite-1.0.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build wmi-lite.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./wmi-lite-1.0.0.gem -- cgit v1.2.1 From 07288792ed964a054875ae265a963ab76876b214 Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 11:03:25 +0000 Subject: chef: Manually add morphs for non-standard Gem components --- strata/chef/erubis-master.morph | 14 ++++++++++++++ strata/chef/hoe-master.morph | 14 ++++++++++++++ strata/chef/plist-master.morph | 14 ++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 strata/chef/erubis-master.morph create mode 100644 strata/chef/hoe-master.morph create mode 100644 strata/chef/plist-master.morph diff --git a/strata/chef/erubis-master.morph b/strata/chef/erubis-master.morph new file mode 100644 index 00000000..3fedd0d7 --- /dev/null +++ b/strata/chef/erubis-master.morph @@ -0,0 +1,14 @@ +--- +name: erubis-master +kind: chunk +build-system: manual +products: +- artifact: erubis-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build erubis.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./erubis-master.gem diff --git a/strata/chef/hoe-master.morph b/strata/chef/hoe-master.morph new file mode 100644 index 00000000..9fe7ff8e --- /dev/null +++ b/strata/chef/hoe-master.morph @@ -0,0 +1,14 @@ +--- +name: hoe-master +kind: chunk +build-system: manual +products: +- artifact: hoe-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- rake gem +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./pkg/hoe-3.12.0.gem diff --git a/strata/chef/plist-master.morph b/strata/chef/plist-master.morph new file mode 100644 index 00000000..bef39f7d --- /dev/null +++ b/strata/chef/plist-master.morph @@ -0,0 +1,14 @@ +--- +name: plist-master +kind: chunk +build-system: manual +products: +- artifact: plist-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- rake gem +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./pkg/plist-3.1.0.gem -- cgit v1.2.1 From 70947ac6024a96f32a63551725fa8cf7a469493d Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 11 Sep 2014 18:38:14 +0100 Subject: chef: Add auto-generated Chef stratum --- strata/chef.morph | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 strata/chef.morph diff --git a/strata/chef.morph b/strata/chef.morph new file mode 100644 index 00000000..3b9b3b7a --- /dev/null +++ b/strata/chef.morph @@ -0,0 +1,207 @@ +name: chef +kind: stratum +description: Autogenerated by Baserock import tool +build-depends: +- morph: strata/ruby.morph +chunks: +- name: yajl + morph: strata/chef/yajl.morph + repo: upstream:yajl + ref: a0ecdde0c042b9256170f2f8890dd9451a4240aa + unpetrify-ref: 2.1.0 + build-depends: [] +- name: libyajl2-1.0.1 + morph: strata/chef/libyajl2-1.0.1.morph + repo: upstream:ruby-gems/libyajl2-gem + ref: 98aef032f536d13775bc7b3b69a25ebac9bdee0a + unpetrify-ref: 1.0.1 + build-depends: + - yajl +- name: chef-12.0.0.alpha.0 + morph: strata/chef/chef-master.morph + repo: upstream:ruby-gems/chef + ref: 9841bc9c6271c6d9add3aff0c2e11239cfb129ca + unpetrify-ref: 12.0.3 + build-depends: [] +- name: chef-zero-2.2 + morph: strata/chef/chef-zero-2.2.morph + repo: upstream:ruby-gems/chef-zero + ref: 231c3abd052e606820297a97e4bc32bdab656a02 + unpetrify-ref: v2.2 + build-depends: [] +- name: coderay-1.1.0.rc1 + morph: strata/chef/coderay-1.1.0.morph + repo: upstream:ruby-gems/coderay + ref: a48037b85a12228431b32103786456f36beb355f + unpetrify-ref: v1.1.0 + build-depends: [] +- name: erubis-master + morph: strata/chef/erubis-master.morph + repo: upstream:ruby-gems/erubis + ref: 14d3eab57fbc361312c8f3af350cbf9a5bafce17 + unpetrify-ref: master + build-depends: [] +- name: ffi-1.9.3 + morph: strata/chef/ffi-1.9.3.morph + repo: upstream:ruby-gems/ffi + ref: d982b7049336106c04f7721045dc5613b16d3545 + unpetrify-ref: 1.9.3 + build-depends: [] +- name: ffi-yajl-1.0.2 + morph: strata/chef/ffi-yajl-master.morph + repo: upstream:ruby-gems/ffi-yajl + ref: 3a4bc4259fd67af0ff4a8c1d3d71cfbaed9c112f + unpetrify-ref: master + build-depends: + - libyajl2-1.0.1 +- name: hashie-2.1.2 + morph: strata/chef/hashie-2.1.2.morph + repo: upstream:ruby-gems/hashie + ref: 95b97fbff2cac643d56ec718cb708665500682e5 + unpetrify-ref: v2.1.2 + build-depends: [] +- name: highline-1.6.21 + morph: strata/chef/highline-master.morph + repo: upstream:ruby-gems/highline + ref: 51de22e436e6d45696759d673d7b9ceba16cae39 + unpetrify-ref: master + build-depends: [] +- name: hoe-master + morph: strata/chef/hoe-master.morph + repo: upstream:ruby-gems/hoe + ref: d94b26b4687be0a24d04b7cb582753fbec33d7e4 + unpetrify-ref: master + build-depends: [] +- name: diff-lcs-1.2.5 + morph: strata/chef/diff-lcs-1.2.5.morph + repo: upstream:diff-lcs + ref: d53e92242b9dd6745e56a0ff4ba15d2f62052b91 + unpetrify-ref: v1.2.5 + build-depends: + - hoe-master +- name: ipaddress-master + morph: strata/chef/ipaddress-master.morph + repo: upstream:ruby-gems/ipaddress + ref: dae93ad0e4fb9a5d547a15dae0c3f2417078c845 + unpetrify-ref: master + build-depends: [] +- name: json-1.8.1 + morph: strata/chef/json-1.8.1.morph + repo: upstream:ruby-gems/json + ref: 92a96dea2b24b9c68856004d69491f46aedd0925 + unpetrify-ref: v1.8.1 + build-depends: [] +- name: method_source-0.8.1 + morph: strata/chef/method_source-0.8.2.morph + repo: upstream:ruby-gems/method_source + ref: 1b1f8323a7c25f29331fe32511f50697e5405dbd + unpetrify-ref: v0.8.2 + build-depends: [] +- name: mime-types-1.25.1 + morph: strata/chef/mime-types-1.25.1.morph + repo: upstream:ruby-gems/mime-types + ref: 6be836f59a041893cfc1c25668b3aa3552a7e334 + unpetrify-ref: v1.25.1 + build-depends: + - hoe-master +- name: mixlib-authentication-1.3.0 + morph: strata/chef/mixlib-authentication-1.3.0.morph + repo: upstream:ruby-gems/mixlib-authentication + ref: db24a56c6f5b99114998a50942220a7023060229 + unpetrify-ref: 1.3.0 + build-depends: [] +- name: mixlib-cli-1.5.0 + morph: strata/chef/mixlib-cli-1.5.0.morph + repo: upstream:ruby-gems/mixlib-cli + ref: b3b3c12141b5380ec61945770690fc1ae31d92b0 + unpetrify-ref: 1.5.0 + build-depends: [] +- name: mixlib-config-2.1.0 + morph: strata/chef/mixlib-config-2.1.0.morph + repo: upstream:ruby-gems/mixlib-config + ref: c5e2dee2beb5fdd17442ff92e520f2ef01d17ee5 + unpetrify-ref: v2.1.0 + build-depends: [] +- name: mixlib-log-1.6.0 + morph: strata/chef/mixlib-log-master.morph + repo: upstream:ruby-gems/mixlib-log + ref: 50ec55964ce19d3a8a14050be9a23c4b8990e2f0 + unpetrify-ref: master + build-depends: [] +- name: mixlib-shellout-1.4.0 + morph: strata/chef/mixlib-shellout-1.4.0.morph + repo: upstream:ruby-gems/mixlib-shellout + ref: a04ce6db22edf0575c50e18ae2db09adced7dedc + unpetrify-ref: 1.4.0 + build-depends: [] +- name: net-dhcp-1.2.1 + morph: strata/chef/net-dhcp-1.2.1.morph + repo: upstream:net-dhcp-ruby + ref: b644922a08aa09e2ce75f8f9f9fa1f0b8cecb2e9 + unpetrify-ref: v1.2.1 + build-depends: [] +- name: net-ssh-2.9.1 + morph: strata/chef/net-ssh-2.9.1.morph + repo: upstream:ruby-gems/net-ssh + ref: 9f8607984d8e904f211cc5edb39ab2a2ca94008e + unpetrify-ref: v2.9.1 + build-depends: [] +- name: net-ssh-gateway-1.2.0 + morph: strata/chef/net-ssh-gateway-1.2.0.morph + repo: upstream:ruby-gems/net-ssh-gateway + ref: 1de7611a7f7cedbe7a4c6cf3798c88d00637582d + unpetrify-ref: v1.2.0 + build-depends: [] +- name: net-ssh-multi-1.2.0 + morph: strata/chef/net-ssh-multi-1.2.0.morph + repo: upstream:ruby-gems/net-ssh-multi + ref: b659f2884b2c9abdbe3bbf3c844937a0799ed5ac + unpetrify-ref: v1.2.0 + build-depends: [] +- name: ohai-7.4.0.dev + morph: strata/chef/ohai-master.morph + repo: upstream:ruby-gems/ohai + ref: 0bf2ed32744445a253082910ee4e07b2b38023a7 + unpetrify-ref: master + build-depends: [] +- name: plist-master + morph: strata/chef/plist-master.morph + repo: upstream:ruby-gems/plist + ref: 12eb82d283cab148183c37c07e3f75a309969dec + unpetrify-ref: master + build-depends: [] +- name: pry-0.10.1 + morph: strata/chef/pry-master.morph + repo: upstream:ruby-gems/pry + ref: 6d5eb0831b50ec729d2dc3356255b49535535e37 + unpetrify-ref: master + build-depends: [] +- name: rack-1.5.2 + morph: strata/chef/rack-1.5.2.morph + repo: upstream:ruby-gems/rack + ref: ac590d055c936bb9a618e955a690dc836c625211 + unpetrify-ref: 1.5.2 + build-depends: [] +- name: slop-3.6.0 + morph: strata/chef/slop-3.6.0.morph + repo: upstream:ruby-gems/slop + ref: c3f84e7e794004f9ae6958c13ef3dd3038c2c0eb + unpetrify-ref: v3.6.0 + build-depends: [] +- name: systemu-2.6.4 + morph: strata/chef/systemu-master.morph + repo: upstream:ruby-gems/systemu + ref: 35340f1e91941af47988b1b9d77705493b96d3db + unpetrify-ref: master + build-depends: [] +- name: wmi-lite-1.0.0 + morph: strata/chef/wmi-lite-1.0.0.morph + repo: upstream:ruby-gems/wmi-lite + ref: 9377836dc0a5487474038ec727f02f9b33facfa6 + unpetrify-ref: 1.0.0 + build-depends: [] +- name: libpopt + morph: strata/core/libpopt.morph + repo: upstream:libpopt + ref: c224abf28f4ff9bbf292908324359cb5905addf8 + build-depends: [] -- cgit v1.2.1 From 1edf0f5bb43519f9a2e85a1135e9c8190f3d17bf Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 11 Sep 2014 18:42:39 +0100 Subject: chef: Add system morph --- chef-system-x86_64-container.morph | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 chef-system-x86_64-container.morph diff --git a/chef-system-x86_64-container.morph b/chef-system-x86_64-container.morph new file mode 100644 index 00000000..3e81c73e --- /dev/null +++ b/chef-system-x86_64-container.morph @@ -0,0 +1,32 @@ +name: chef-system-x86_64-container +kind: system +arch: x86_64 +description: Minimal chef system suitable for running in a container +configuration-extensions: +- set-hostname +- simple-network +- nfsboot +- install-files +- busybox-init +- remove-gcc +strata: +- name: build-essential + morph: strata/build-essential.morph + artifacts: + - build-essential-minimal +- name: core + morph: strata/core.morph + artifacts: + - core-openssl +- name: foundation + morph: strata/foundation.morph + artifacts: + - foundation-runtime +- name: ruby + morph: strata/ruby.morph + artifacts: + - ruby-runtime +- name: chef + morph: strata/chef.morph + artifacts: + - chef-runtime -- cgit v1.2.1 From 082ddc8ed5f9b195e7509d936e2c639a47981129 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 11 Sep 2014 19:05:07 +0100 Subject: chef: Manually fix Erubis build Seems to use an obsolete build system called 'rook', which I cannot get to work. --- strata/chef/erubis-master.morph | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/strata/chef/erubis-master.morph b/strata/chef/erubis-master.morph index 3fedd0d7..f15e0968 100644 --- a/strata/chef/erubis-master.morph +++ b/strata/chef/erubis-master.morph @@ -6,9 +6,14 @@ products: - artifact: erubis-doc include: - usr/lib/ruby/gems/\d[\w.]*/doc/.* +configure-commands: +# Manually do what it seems like the 'rook' build system would do, if it worked +# Values taken from 'Rookbook.props'. +- find -type f -exec sed -e 's/\$Release\$/2.7.0/g' -i \{} \; +- find -type f -exec sed -e 's/\$Copyright\$/copyright(c) 2006-2011 kuwata-lab.com all rights reserved./g' -i \{} \; build-commands: - gem build erubis.gemspec install-commands: - mkdir -p "$DESTDIR/$(gem environment home)" - gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" - --ignore-dependencies --local ./erubis-master.gem + --ignore-dependencies --local ./erubis-2.7.0.gem -- cgit v1.2.1 From b7c06a59aafe7ae4d17e1a3b3299dc31a211607a Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 11 Sep 2014 19:11:59 +0100 Subject: chef: Fix libyajl2 build Needs to be told to use the system-wide version, not its own bundled copy. --- strata/chef/libyajl2-1.0.1.morph | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/strata/chef/libyajl2-1.0.1.morph b/strata/chef/libyajl2-1.0.1.morph index 70135ace..d85d1567 100644 --- a/strata/chef/libyajl2-1.0.1.morph +++ b/strata/chef/libyajl2-1.0.1.morph @@ -6,8 +6,8 @@ products: include: - usr/lib/ruby/gems/\d[\w.]*/doc/.* build-commands: -- gem build libyajl2.gemspec +- USE_SYSTEM_LIBYAJL2=yes gem build libyajl2.gemspec install-commands: - mkdir -p "$DESTDIR/$(gem environment home)" -- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" +- USE_SYSTEM_LIBYAJL2=yes gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" --ignore-dependencies --local ./libyajl2-1.0.1.gem -- cgit v1.2.1 From 50043379f43556479205660cabc169fc2183ec2f Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 18 Sep 2014 13:34:19 +0000 Subject: chef: Use ipaddress 'master' branch to fix Gem build The 0.8.0 release had a bad Gemspec file committed, master seems to contain several useful fixes. --- strata/chef/ipaddress-0.8.0.morph | 13 ------------- strata/chef/ipaddress-master.morph | 13 +++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) delete mode 100644 strata/chef/ipaddress-0.8.0.morph create mode 100644 strata/chef/ipaddress-master.morph diff --git a/strata/chef/ipaddress-0.8.0.morph b/strata/chef/ipaddress-0.8.0.morph deleted file mode 100644 index fdaa5de6..00000000 --- a/strata/chef/ipaddress-0.8.0.morph +++ /dev/null @@ -1,13 +0,0 @@ -name: ipaddress-0.8.0 -kind: chunk -description: Automatically generated by rubygems.to_chunk -products: -- artifact: ipaddress-0.8.0-doc - include: - - usr/lib/ruby/gems/\d[\w.]*/doc/.* -build-commands: -- gem build ipaddress.gemspec -install-commands: -- mkdir -p "$DESTDIR/$(gem environment home)" -- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" - --ignore-dependencies --local ./ipaddress-0.8.0.gem diff --git a/strata/chef/ipaddress-master.morph b/strata/chef/ipaddress-master.morph new file mode 100644 index 00000000..fdaa5de6 --- /dev/null +++ b/strata/chef/ipaddress-master.morph @@ -0,0 +1,13 @@ +name: ipaddress-0.8.0 +kind: chunk +description: Automatically generated by rubygems.to_chunk +products: +- artifact: ipaddress-0.8.0-doc + include: + - usr/lib/ruby/gems/\d[\w.]*/doc/.* +build-commands: +- gem build ipaddress.gemspec +install-commands: +- mkdir -p "$DESTDIR/$(gem environment home)" +- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" + --ignore-dependencies --local ./ipaddress-0.8.0.gem -- cgit v1.2.1 From bb332e961389f91f318c8feeb3dd333bb7ac7a71 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Mon, 22 Sep 2014 15:13:24 +0000 Subject: chef: Fix build of signed Gems, by doing an unsigned build --- strata/chef/net-ssh-2.9.1.morph | 2 ++ strata/chef/net-ssh-gateway-1.2.0.morph | 2 ++ strata/chef/net-ssh-multi-1.2.0.morph | 2 ++ 3 files changed, 6 insertions(+) diff --git a/strata/chef/net-ssh-2.9.1.morph b/strata/chef/net-ssh-2.9.1.morph index 52afaba6..c06495d5 100644 --- a/strata/chef/net-ssh-2.9.1.morph +++ b/strata/chef/net-ssh-2.9.1.morph @@ -5,6 +5,8 @@ products: - artifact: net-ssh-2.9.1-doc include: - usr/lib/ruby/gems/\d[\w.]*/doc/.* +configure-commands: +- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh.gemspec build-commands: - gem build net-ssh.gemspec install-commands: diff --git a/strata/chef/net-ssh-gateway-1.2.0.morph b/strata/chef/net-ssh-gateway-1.2.0.morph index b6e9dc39..c0425002 100644 --- a/strata/chef/net-ssh-gateway-1.2.0.morph +++ b/strata/chef/net-ssh-gateway-1.2.0.morph @@ -5,6 +5,8 @@ products: - artifact: net-ssh-gateway-1.2.0-doc include: - usr/lib/ruby/gems/\d[\w.]*/doc/.* +configure-commands: +- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh-gateway.gemspec build-commands: - gem build net-ssh-gateway.gemspec install-commands: diff --git a/strata/chef/net-ssh-multi-1.2.0.morph b/strata/chef/net-ssh-multi-1.2.0.morph index de59ecc9..fc433a37 100644 --- a/strata/chef/net-ssh-multi-1.2.0.morph +++ b/strata/chef/net-ssh-multi-1.2.0.morph @@ -5,6 +5,8 @@ products: - artifact: net-ssh-multi-1.2.0-doc include: - usr/lib/ruby/gems/\d[\w.]*/doc/.* +configure-commands: +- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh-multi.gemspec build-commands: - gem build net-ssh-multi.gemspec install-commands: -- cgit v1.2.1 From b5d35ed23d06c6463c0912466da31c5c35c09a60 Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Thu, 4 Dec 2014 13:29:20 +0000 Subject: Add chef strata to ceph-service --- systems/ceph-service-x86_64-generic.morph | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/systems/ceph-service-x86_64-generic.morph b/systems/ceph-service-x86_64-generic.morph index f54af0f7..1ddaf818 100644 --- a/systems/ceph-service-x86_64-generic.morph +++ b/systems/ceph-service-x86_64-generic.morph @@ -18,6 +18,28 @@ strata: morph: strata/ceph-service.morph - name: tools morph: strata/tools.morph +- name: ruby + morph: strata/ruby.morph +- name: ntpd + morph: strata/ntpd.morph +- name: morph-utils + morph: strata/morph-utils.morph +- name: openstack-clients + morph: strata/openstack-clients.morph +- name: cloudinit-support + morph: strata/cloudinit-support.morph +- name: nodejs + morph: strata/nodejs.morph +- name: lorry + morph: strata/lorry.morph +- name: baserock-import + morph: strata/baserock-import.morph +- name: nfs + morph: strata/nfs.morph +- name: python-tools + morph: strata/python-tools.morph +- name: chef + morph: strata/chef.morph configuration-extensions: - set-hostname - add-config-files -- cgit v1.2.1 From cad65f7574f06c3e7ec9c32e930de2b853913dcd Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 11:15:52 +0000 Subject: Add /etc/lsb-release when installing chef --- strata/chef/chef-master.morph | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/strata/chef/chef-master.morph b/strata/chef/chef-master.morph index 7500b82e..61c12ca0 100644 --- a/strata/chef/chef-master.morph +++ b/strata/chef/chef-master.morph @@ -11,3 +11,10 @@ install-commands: - mkdir -p "$DESTDIR/$(gem environment home)" - gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin" --ignore-dependencies --local ./chef-12.0.0.alpha.0.gem +- mkdir -p "$DESTDIR"/etc +- | + cat << EOF > "$DESTDIR/etc/lsb-release" + DISTRIB_ID=Baserock + DISTRIB_CODENAME=baserock + DISTRIB_DESCRIPTION="Baserock" + EOF -- cgit v1.2.1 From 2d24bf6c54915330272b9f27fda1c50ae2c6517a Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Wed, 14 Jan 2015 18:50:54 +0000 Subject: Add sgdisk and make chef dependent on core --- strata/chef.morph | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/strata/chef.morph b/strata/chef.morph index 3b9b3b7a..602dbc3b 100644 --- a/strata/chef.morph +++ b/strata/chef.morph @@ -3,6 +3,7 @@ kind: stratum description: Autogenerated by Baserock import tool build-depends: - morph: strata/ruby.morph +- morph: strata/core.morph chunks: - name: yajl morph: strata/chef/yajl.morph @@ -205,3 +206,9 @@ chunks: repo: upstream:libpopt ref: c224abf28f4ff9bbf292908324359cb5905addf8 build-depends: [] +- name: sgdisk + morph: strata/core/sgdisk.morph + repo: upstream:sgdisk + ref: a920398fa393f9d6301b32b191bc01e086ab8bc8 + build-depends: + - libpopt -- cgit v1.2.1 From 1349263485db1c6cce4d63fee9d516062d4654dd Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 12:54:24 +0000 Subject: Add example chef/ceph client deploy morph --- chef/manifest | 3 +++ clusters/cephclient.morph | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 chef/manifest create mode 100644 clusters/cephclient.morph diff --git a/chef/manifest b/chef/manifest new file mode 100644 index 00000000..de6cc542 --- /dev/null +++ b/chef/manifest @@ -0,0 +1,3 @@ +0040755 0 0 /root +0040700 1000 1000 /root/.ssh +0100600 1000 1000 /root/.ssh/authorized_keys diff --git a/clusters/cephclient.morph b/clusters/cephclient.morph new file mode 100644 index 00000000..b4db22e0 --- /dev/null +++ b/clusters/cephclient.morph @@ -0,0 +1,20 @@ +name: ceph-cluster +kind: cluster +systems: +- morph: systems/ceph-service-x86_64-generic.morph + deploy: + ceph-node-virtualbox-image: + type: virtualbox-ssh + SYSTEM: systems/ceph-service-x86_64-generic.morph + location: vbox+ssh://user@machine/ChefNode4/home/user/chefnode4.vdi + # HOST_IPADDR and NETMASK should be set to the IP address and netmask of the virtualbox host on the host-only interface. + #HOST_IPADDR: 10.0.100.100 + #NETMASK: 255.255.255.0 + + # This is an example of how to configure the three interfaces necessary to support ceph in the BCPC configuration. + #NETWORK_CONFIG: lo:loopback;enp0s3:static,address=10.0.100.14,netmask=255.255.255.0;enp0s8:static,address=172.16.100.14,netmask=255.255.255.0;enp0s9:static,address=192.168.100.14,netmask=255.255.255.0 + DISK_SIZE: 8G + HOSTNAME: CephNode4 + + # You must install authorized_keys in chef/root/.ssh/ before this will work. + INSTALL_FILES: chef/manifest -- cgit v1.2.1 From 9f3cf48100c37f6ec98bc7151d1155ce5b9fb834 Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 12:08:12 +0000 Subject: chef: Add missing C library This must be added manually, because it's not described in the RubyGems metadata. --- strata/chef/yajl.morph | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 strata/chef/yajl.morph diff --git a/strata/chef/yajl.morph b/strata/chef/yajl.morph new file mode 100644 index 00000000..9dbc8dbf --- /dev/null +++ b/strata/chef/yajl.morph @@ -0,0 +1,6 @@ +name: yajl +kind: chunk +description: YAJL JSON parsing library +build-system: cmake +max-jobs: 1 + -- cgit v1.2.1 From 2fcd4b64c56f73c3f069dd1cd81275d20505b1f5 Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 12:13:48 +0000 Subject: Add morphs for sgdisk and libpopt --- strata/chef.morph | 2 ++ strata/core/libpopt.morph | 10 ++++++++++ strata/core/sgdisk.morph | 7 +++++++ 3 files changed, 19 insertions(+) create mode 100644 strata/core/libpopt.morph create mode 100644 strata/core/sgdisk.morph diff --git a/strata/chef.morph b/strata/chef.morph index 602dbc3b..cd969cda 100644 --- a/strata/chef.morph +++ b/strata/chef.morph @@ -205,10 +205,12 @@ chunks: morph: strata/core/libpopt.morph repo: upstream:libpopt ref: c224abf28f4ff9bbf292908324359cb5905addf8 + unpetrify-ref: master build-depends: [] - name: sgdisk morph: strata/core/sgdisk.morph repo: upstream:sgdisk ref: a920398fa393f9d6301b32b191bc01e086ab8bc8 + unpetrify-ref: master build-depends: - libpopt diff --git a/strata/core/libpopt.morph b/strata/core/libpopt.morph new file mode 100644 index 00000000..ae27432c --- /dev/null +++ b/strata/core/libpopt.morph @@ -0,0 +1,10 @@ +name: libpopt +kind: chunk +configure-commands: +- autoreconf -if +- ./configure +build-commands: +- make +install-commands: +- make DESTDIR="$DESTDIR" install + diff --git a/strata/core/sgdisk.morph b/strata/core/sgdisk.morph new file mode 100644 index 00000000..e792f9d9 --- /dev/null +++ b/strata/core/sgdisk.morph @@ -0,0 +1,7 @@ +name: sgdisk +kind: chunk +build-commands: +- make +install-commands: +- install -D -m 0755 -o root -g root sgdisk "$DESTDIR$PREFIX/bin/sgdisk" + -- cgit v1.2.1 From 704c443ea86001242ca0ca64eef0ca944279ebd9 Mon Sep 17 00:00:00 2001 From: Jim MacArthur Date: Fri, 16 Jan 2015 15:07:48 +0000 Subject: Add NTPD morph --- strata/ntpd.morph | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 strata/ntpd.morph diff --git a/strata/ntpd.morph b/strata/ntpd.morph new file mode 100644 index 00000000..e45e6424 --- /dev/null +++ b/strata/ntpd.morph @@ -0,0 +1,10 @@ +name: ntpd +kind: stratum +build-depends: +- morph: strata/core.morph +chunks: +- name: ntpd + repo: upstream:ntp + ref: d4b7cd9723cce9561fa15f74b90b85a3a61b5ef8 + unpetrify-ref: ntp-dev-4.2.7p482 + build-depends: [] -- cgit v1.2.1