Merge lp:~corey.bryant/charm-helpers/systemd into lp:charm-helpers
- systemd
- Merge into devel
Status: | Merged |
---|---|
Merged at revision: | 575 |
Proposed branch: | lp:~corey.bryant/charm-helpers/systemd |
Merge into: | lp:charm-helpers |
Diff against target: |
59 lines (+42/-0) 1 file modified
charmhelpers/contrib/openstack/utils.py (+42/-0) |
To merge this branch: | bzr merge lp:~corey.bryant/charm-helpers/systemd |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
James Page | Needs Fixing | ||
charmers | Pending | ||
Review via email: mp+287110@code.launchpad.net |
Commit message
Description of the change
- 534. By James Page
-
Update driver details for PLUMgrid >= liberty
- 535. By James Page
-
Fix SSL cipher suites to enforce TLS v1 or better.
- 536. By James Page
-
ceph: support use of monitor cluster as a key/value store
- 537. By James Page
-
Add support for Juju 2.0 network spaces
Juju 2.0 adds a new hook tool called network-get to query for network
information for named relations and extra-bindings.Add basic hook tool support and associated unit tests.
- 538. By Charles Butler
-
[r,a=lazypower] Chris Holcombe 2016-03-04 Typo in the ceph config-key commands. This removes the extra ceph parameter that should not be there
- 539. By Liam Young
-
[ajkavanagh, r=gnuoy] Support pause/resume functionality for OpenStack charms. Pause and resume are baked into set_os_
workload_ status( ) and also perform additional checks using service_running() and port listening checks. - 540. By Liam Young
-
[gnuoy, trivial] whitespace lint fix
- 541. By Liam Young
-
[ajkavanagh, r=gnuoy] Fixes broken *_unit_paused_set() functions in contrib/
openstack/ utils.py that were merged by mistake. Also fixes some PEP8 formatting in the utils.py and test_openstack_
utils.py files (line lengths). - 542. By James Page
-
Enable Keystone v3 api in amulet
- 543. By Marco Ceppi
-
[marcoceppi] Support resource-get command
- 544. By Marco Ceppi
-
version bump
- 545. By James Page
-
[trivial] Add swift 2.6.0 to the openstack mitaka series
- 546. By James Page
-
Ensure that keystone api version defaults to 2, not 3
This resolves a number of amulet test failures after resyncs of the
keystone v3 testing support. - 547. By Charles Butler
-
[r,a=lazypower] Chris Holcombe 2016-03-09 Ceph command should really be rados command for the flush cache tier
- 548. By Liam Young
-
[ajkavanagh, r=gnuoy] Fix lp:1555643 - c.o.amulet.utils imports removed novaclient.v1_1 module
As per http://
docs.openstack. org/developer/ python- novaclient/ api.html
the novaclient module needs to be imported as:from novaclient import client
c = client.Client( VERSION, ...) as opposed to
from novaclient.VERSION import client
c = client.Client(...) - 549. By Liam Young
-
[gnuoy, r=wolsen] The settings in keystone_authtoken do not depend on keystone api version in releases over > juno. See details in Bug #1557223
- 550. By Liam Young
-
[wolsen, hopem, r=gnuoy] This merge proposal adds the base for hardening the host OS and SSH as utility libraries which can be imported into any charm. This also adds the stubs for MySQL and Apache, which will come in later merge proposals.
The hardening efforts are based on the upstream hardening.io project, which can be found at http://
hardening. io. - 551. By Liam Young
-
[gnuoy, trivial] lint fix
- 552. By Charles Butler
-
[r=lazypower] Chris Holcombe 2016-03-18 Add parameters to the run action utility in amulet
- 553. By Liam Young
-
[hopem, r=gnuoy] contrib.hardening fixups (mostly unit test fixes)
- 554. By Edward Hope-Morley
-
[trivial] contrib.hardening default use_pam=no
- 555. By Charles Butler
-
[r=beisner,
a=lazypower] Anton Skriptsov 2016-03-22 add NexentaEdge's charms to no_origin list - 556. By David Ames
-
[jamespage, r=thedac] Add extra-binding awareness to openstack api endpoint resolver
- 557. By James Page
-
Add InternalEndpoin
tContext to contrib. openstack. context - 558. By Edward Hope-Morley
-
[gnuoy,r=hopem]
When checking if a System V service is running, query
service --all-status which keeps track of the services
and their return codes.Closes-Bug: 1564842
- 559. By David Ames
-
[thedac, r=jamespage] Apparmor context class for OpenStack charms
The class will validate aa-profile-mode config settings and either set
the profile to enforce, complain or disable. - 560. By David Ames
-
[coreycb, r=thedac] Add support for keystone liberty release 8.1.0
- 561. By David Ames
-
[jamespage, r=thedac] Add support for specifying the datapath type of an ovs bridge
- 562. By Ryan Beisner
-
[chris.macnaughton, r=1chb1n] Allow the validate_
unit_process_ ids test helper to accept a list of valid values - 563. By Ryan Beisner
-
[chris.macnaughton, r=1chb1n] Trivial lint fix
- 564. By James Page
-
Allow custom functions to be used to restart services in the restart_on_change functions.
- 565. By James Page
-
[trivial] Add 2.7.0 to the list of swift mitaka releases.
- 566. By Ryan Beisner
-
[xfactor973, r=1chb1n] Add the final update_pool call in Ceph pool creation to set the replica count (bug 1565120)
- 567. By Ryan Beisner
-
[xfactor973, r=1chb1n] Add mandatory flag for ceph jewel and above
- 568. By Liam Young
-
[gnuoy, r=james-page] Add openstack mitaka compatible template for keystone-authtoken
- 569. By Edward Hope-Morley
-
[hopem,r=gnuoy]
Fix contib.
storage. linux.ceph pool_exists()
Partially-Closes- Bug: 1572506 - 570. By James Page
-
Switch is_device_mounted to use lsblk
This will correct detect a wider range of 'is use' states compared
to parsing the output of /proc/mounts, including block devices that
are part of LVM volumes. - 571. By James Page
-
Add support for mitaka/neutron 8.1.x series
- 572. By David Ames
-
[thedac,r=tinwood] Actively check for stopped message(s) in service_running
- 573. By James Page
-
Fix ipv6 address recongition under xenial.
- 574. By James Page
-
Refactor service_running to determine init approach
Use of "service --status-all" has some challenges on trusty where
a recent lsb-base update resulted in all calls being diverted to
upstart, where return codes for non-running daemons are still 0.Detect whether to use upstart or the base init.d script to
determine whether a service is running, and look at either the
upstart output, or for a non-zero return code from an init.d
status call. - 575. By Corey Bryant
-
Add function to generate systemd init files for OpenStack deploy from source.
Corey Bryant (corey.bryant) wrote : | # |
James Page (james-page) : | # |
- 576. By Corey Bryant
-
Use format() in service_file assignment
- 577. By Corey Bryant
-
Add an empty line to init_source file before appending template to it
Corey Bryant (corey.bryant) wrote : | # |
James, thanks for the review. This is fixed up based on your comment and another minor change for adding an empty line to init_source file before appending the template to it.
Preview Diff
1 | === modified file 'charmhelpers/contrib/openstack/utils.py' |
2 | --- charmhelpers/contrib/openstack/utils.py 2016-05-12 15:10:33 +0000 |
3 | +++ charmhelpers/contrib/openstack/utils.py 2016-05-23 15:53:53 +0000 |
4 | @@ -25,6 +25,7 @@ |
5 | import re |
6 | import itertools |
7 | import functools |
8 | +import shutil |
9 | |
10 | import six |
11 | import tempfile |
12 | @@ -858,6 +859,47 @@ |
13 | return None |
14 | |
15 | |
16 | +def git_generate_systemd_init_files(templates_dir): |
17 | + """ |
18 | + Generate systemd init files. |
19 | + |
20 | + Generates and installs systemd init units and script files based on the |
21 | + *.init.in files contained in the templates_dir directory. |
22 | + |
23 | + This code is based on the openstack-pkg-tools package and its init |
24 | + script generation, which is used by the OpenStack packages. |
25 | + """ |
26 | + for f in os.listdir(templates_dir): |
27 | + if f.endswith(".init.in"): |
28 | + init_in_file = f |
29 | + init_file = f[:-8] |
30 | + service_file = "{}.service".format(init_file) |
31 | + |
32 | + init_in_source = os.path.join(templates_dir, init_in_file) |
33 | + init_source = os.path.join(templates_dir, init_file) |
34 | + service_source = os.path.join(templates_dir, service_file) |
35 | + |
36 | + init_dest = os.path.join('/etc/init.d', init_file) |
37 | + service_dest = os.path.join('/lib/systemd/system', service_file) |
38 | + |
39 | + shutil.copyfile(init_in_source, init_source) |
40 | + with open(init_source, 'a') as outfile: |
41 | + template = '/usr/share/openstack-pkg-tools/init-script-template' |
42 | + with open(template) as infile: |
43 | + outfile.write('\n\n{}'.format(infile.read())) |
44 | + |
45 | + cmd = ['pkgos-gen-systemd-unit', init_in_source] |
46 | + subprocess.check_call(cmd) |
47 | + |
48 | + if os.path.exists(init_dest): |
49 | + os.remove(init_dest) |
50 | + if os.path.exists(service_dest): |
51 | + os.remove(service_dest) |
52 | + shutil.move(init_source, init_dest) |
53 | + shutil.move(service_source, service_dest) |
54 | + os.chmod(init_dest, 0o755) |
55 | + |
56 | + |
57 | def os_workload_status(configs, required_interfaces, charm_func=None): |
58 | """ |
59 | Decorator to set workload status based on complete contexts |
Here's a sample usage of this code from keystone. I'm still debugging some other issues with it but it looks like init files are getting set up fine. https:/ /github. com/coreycb/ charm-keystone/ commit/ 672e5e582922155 36054c95dfcf1d4 ed12af7b06