Project

General

Profile

Activity

From 02/26/2012 to 03/26/2012

03/26/2012

04:34 PM Smart Proxy Feature #1552 (Closed): Puppet proxy should support $confdir in modulepath when looking for environments/classes
This is related to issue:1387. For those of use who followed the PuppetLabs blog (http://puppetlabs.com/blog/git-work... Jason Antman
09:38 AM Support #1550: Migration from v 0.1.5 to lastest 0.4 fails
[foreman@host /opt/foreman/db/migrate]$ mv {20110327123639,20100525094100}_add_priority_to_parameter.rb
WARNING: 'req...
Ky Zh
09:09 AM Support #1550: Migration from v 0.1.5 to lastest 0.4 fails
if you rename db/migrate/20110327123639_add_priority_to_parameter.rb to be a lower number then db/migrate/20100525094... Ohad Levy
09:07 AM Support #1550: Migration from v 0.1.5 to lastest 0.4 fails
I deleted the DB, re-imported my old DB and did "RAILS_ENV=production rake db:migrate --trace".
WARNING: 'require 'ra...
Ky Zh
08:56 AM Support #1550 (Resolved): Migration from v 0.1.5 to lastest 0.4 fails
We are running an antic version of Foreman (0.1.5 ?).
I'm now trying to my historical data from it into a newly insta...
Ky Zh
09:25 AM Bug #1551 (Resolved): Virt version included in 0.4.2 and 0.5_nightly debian package is not up-to-date
Hi,
The guest.xml file belonging to virt submodule in stable/testing is not up-to-date.
Maybe submodule is not updat...
Romain Vrignaud
05:37 AM Bug #1467: invalid entry added to autosign.conf
I will surely try to update more things according to this as this is great help to me. Good post to share. Thanks for... rudy shweitzer
05:16 AM Bug #1545: Rails DB migration fails on PosgreSQL 9.1

Just tried it from scratch...
The first migration it fails on is: db/migrate/20090717025820_create_media.rb
Comment...
Rytis Sileika
02:46 AM Bug #1549 (Closed): Triggering 'Run puppet' from GUI returns 500 error
Hello,
I am using following foreman and foreman-proxy versions:
foreman: pre-0.5 (last git commit: dda8e2b951d52a5...
Povilas Daukintis

03/24/2012

03:04 AM Smart Proxy Feature #1225: AWS-Route53/Foreman/SmartProxy DNS integration
_Spam removed by admin_ yziningyz yziningyz

03/23/2012

03:02 PM Smart Proxy Bug #1534 (Closed): default log_file
Florian Koch
02:43 PM Smart Proxy Bug #1547 (Closed): Stack Trace with log level Error
Applied in changeset commit:"ec8239f5a4ef463f6813cd71f9011ba7f5477bfd". Anonymous
07:25 AM Smart Proxy Bug #1547 (Closed): Stack Trace with log level Error
if the log level ist set to 'Error' (Error is listes as valid value in the example config) instead of ERROR the smart... Florian Koch
02:43 PM Smart Proxy Bug #1548 (Closed): Default Settings File Improvments
Applied in changeset commit:"ed0628126ddcd68b15398fff83989b2ee6ac206d". Anonymous
07:31 AM Smart Proxy Bug #1548 (Closed): Default Settings File Improvments
add better defaults to the proxy settings file
- dhcp config rhel5/6
- logfile
- valid error levels
- default error ...
Florian Koch

03/22/2012

02:37 PM Bug #1545: Rails DB migration fails on PosgreSQL 9.1
Rytis Sileika wrote:
> More info:
>
> PostgreSQL still doesn't work - same problem, even though I dropped all the ta...
Ohad Levy
09:56 AM Bug #1545: Rails DB migration fails on PosgreSQL 9.1
More info:
PostgreSQL still doesn't work - same problem, even though I dropped all the tables before trying to migra...
Rytis Sileika
09:36 AM Bug #1545: Rails DB migration fails on PosgreSQL 9.1
Sorry, wrong Puppet version, I'm using 2.7.12-1 Rytis Sileika
08:33 AM Bug #1545: Rails DB migration fails on PosgreSQL 9.1
OK, this doesn't seem to be related to the DB type.
I installed MySQL, and pointed puppet at it. Puppet created all ...
Rytis Sileika
07:53 AM Bug #1545 (Duplicate): Rails DB migration fails on PosgreSQL 9.1
My setup:
* OS: RHEL5.7
* DB: PostgreSQL
* Puppet: 2.7.11
* Foreman: 0.5 dev branch
When following instructions on ...
Rytis Sileika
02:36 PM Bug #1546 (Duplicate): report::expire slow with many reports
report::expire is causing me issues, one of which is its very slow to run (~20 minutes, and thats before it ultimatel... Jacob McCann
05:37 AM Feature #1028: Ability to edit custom fields in the host edit page
My proposal :
From the host group have the ability to add parameters with these fields :
* name
* description
* def...
Nicolas Vogel

03/21/2012

09:11 PM Feature #1377: Foreman should support a "versioning" backend (for templates, params/vars, etc)
Has anyone started working on implementing one of these methods? I'm interested in finding a way to get foreman infor... Doug Weimer
11:48 AM Bug #1544 (Closed): Updating a host fails if you cannot reach the SOA nameservers
We encountered an issue with updating and changing hosts through foreman and after a lengthy debugging session with O... Ashley Penney
08:12 AM Bug #1178 (Closed): Foreman tries to use autosign.conf when not required
no longer relevant after #1533 Ohad Levy

03/19/2012

04:47 PM Bug #1351: New smart variable and match cannot be entered at same time.
I'm hitting this at the nightly release I installed last tuesday, as well. Threw me for quite the loop, as they show ... Tray Torrance
03:41 PM Bug #1543 (Closed): Imported host, could not edit host as domain was not set.
New installation of Foreman 0.5 on CentOS 6. After importing facts and hosts, I was not able to edit the host and sa... Brian Green
02:26 PM Feature #1169: Reports and Fact POST, and GET for Host ENC Yaml, should accept Authentication.
Another option is to allow ENC/Reports/Facts to POST using Authentication?
There could be setting(s) for this?
Anyt...
Bash Shell
07:09 AM Feature #1169: Reports and Fact POST, and GET for Host ENC Yaml, should accept Authentication.
Anselm Strauss wrote:
> +1
>
> Although you should not be able to modify the configuration of hosts you can still fa...
Ohad Levy
06:59 AM Feature #1169: Reports and Fact POST, and GET for Host ENC Yaml, should accept Authentication.
+1
Although you should not be able to modify the configuration of hosts you can still falsify information about pupp...
Anselm Strauss
10:36 AM Bug #1542 (Resolved): foreman: parameter on hostgroup level doesn't decent to host level on search
reprocude:
1. create a param in a hostgroup
2. created a new nested hostgroup under it
3. add a host to new nes...
Eyal Edri
09:10 AM Bug #1541 (Resolved): edit hosts broken after latest git update
bundle exec rake db:migrate RAILS_ENV=production
Ohad Levy
09:07 AM Bug #1541 (Resolved): edit hosts broken after latest git update
Hi,
I just did a git pull on my foreman dev install and I noticed that edit hosts is broken.
Error:
undefined meth...
Oliver Weinmann
07:18 AM Feature #1540 (Closed): Support Ovirt/RHEV-M as a compute virtualization provider
Applied in changeset commit:"334d0359b713936bbb63ab1ca3fabcca4d36e4ba". Amos Benari
04:09 AM Feature #1540 (Closed): Support Ovirt/RHEV-M as a compute virtualization provider
Ohad Levy
02:59 AM Bug #1539 (Feedback): permission errors when hypervisor connection is not setup correctly
Corey, this error message seems related to your esx branch, normally we don't validate u/p within this context.
can ...
Ohad Levy

03/18/2012

06:36 PM Bug #1539: permission errors when hypervisor connection is not setup correctly
I removed the hypervisor but it looks like the host is still attached to it somehow.... Corey Osman
06:16 PM Bug #1539 (Resolved): permission errors when hypervisor connection is not setup correctly
I happen to run into this bug after coping my database from a 0.4 instance which doesn't have libvirt setup to the l... Corey Osman
05:12 PM Feature #1538 (Closed): allow to search hosts based on their puppet master
Applied in changeset commit:"c3331b0401d14bcfee2473e10d31601b1b45b7f9". Ohad Levy
02:44 PM Feature #1538 (Closed): allow to search hosts based on their puppet master
Ohad Levy
08:52 AM Feature #593 (Feedback): split log for facts, reports and everything else
Thinking on this further,
I would probably would split to:
# events that are generated by puppet (ENC, facts, r...
Ohad Levy
08:47 AM Smart Proxy Bug #1342: foreman-proxy package is not installable on Ubuntu
joschi, any chance you have the time to look at this one?
thanks!
Ohad Levy

03/16/2012

06:20 AM Bug #1537 (Closed): Upload-Field displayed incorrectly in "provisioning templates"
The new Upload-System in the Provisioning-Templates Menü is not displayed correctly in FF 10 and 11.
See attachment...
David M.
03:55 AM Feature #1536 (Closed): Foreman should check DHCP entries on build
Foreman should always check if a DHCP-Entry for a host is still present if the host gets rebuild.
In my case Forem...
David M.

03/15/2012

11:13 AM Feature #944 (Closed): Provide a mechanism to clear a host's network conflicts
Applied in changeset commit:"30ae12bf50633dde28d785e0f8fe9bbbc497c76f". Ohad Levy
06:30 AM Bug #1505 (Need more information): DHCP smart proxy failed to detect boot server: undefined method: dns_lookup
Looking at this patch, I'm not sure why it worked, as domain.resolver should return the correct resolved.
this code ...
Ohad Levy
06:24 AM Bug #1504 (Duplicate): Failed to save: failed to detect boot server: undefined method `bootserver_ip'
Ohad Levy

03/14/2012

11:18 AM Bug #1129 (Closed): Summary Puppet Report - require_ssl
Applied in changeset commit:"7e46bb6192a843aeafd461007f7b525ab147c8f0". Ohad Levy
11:17 AM Feature #1328 (Need more information): Encrypt Hypervisor password
Ohad Levy
11:15 AM Feature #1329 (Feedback): Encrypt BMC password
Ohad Levy
11:15 AM Feature #1329: Encrypt BMC password
can you provide some information of how you would like to encrypt?
Ohad Levy
11:13 AM Bug #1380 (Closed): /has_many_polymorphs.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError)
I'm closing this one, as it seems like it does work for the current compute.
once released, we'll support official p...
Ohad Levy
11:11 AM Bug #1471 (Closed): Shouldn't have the option to specify the "Puppet Master Proxy" when not using foreman for host provisioning.
Applied in changeset commit:"936ba86f4ea32dd51cae5c9d243feae8d0e97d9e". Ohad Levy
11:05 AM Feature #1524 (Closed): Add more attributes to JSON index
Applied in changeset commit:"b16f321a47640336c8dead7dfd9dc3f0fdeb30da". Corey Osman
11:05 AM Bug #1535 (Closed): incorrect server response when authentication fails upon API request
Applied in changeset commit:"fcc37ae79368285f13d544162854cc4b280dbe78". Ohad Levy
10:42 AM Bug #1535 (Closed): incorrect server response when authentication fails upon API request
Ohad Levy
06:57 AM Smart Proxy Bug #1534 (Closed): default log_file
After a fresh install"... Markus Falb
05:49 AM Feature #1503 (Closed): When creating a host, it should be possible to define a Puppet CA and a Puppet Master to use
Applied in changeset commit:"ace6fbadcda81080648fbc06a8f3d2ec552bb0bf". Ohad Levy
05:49 AM Refactor #1533 (Closed): depreciate usage of puppetrun, puppetca or a tftp server without a proxy
Applied in changeset commit:"f0a61bdaec853ea68cf82318c5bf5f6dc2127377". Ohad Levy
05:09 AM Refactor #1533 (Closed): depreciate usage of puppetrun, puppetca or a tftp server without a proxy
Ohad Levy
05:49 AM Feature #808 (Closed): Add smart-proxy puppetrun to foreman
Applied in changeset commit:"dd172ed76e8abc0840f94a4224c91e11255710d1". Ohad Levy

03/13/2012

04:55 PM Bug #1529: Cannot delete an host for which puppet does not have a certificate
The problem persist with latest nighty build deb package (0.5-~nightlybuild1322446320).
As a quick and dirty fix, ...
David Douard
04:26 PM Bug #1529: Cannot delete an host for which puppet does not have a certificate
Just realized I did not tell that I am using the stable deb package you provide (aka 0.4.2). David Douard
04:25 PM Feature #1531: Provide the libvirt new guest template file as a provisionning template
Just realized I did not tell that I am using the stable deb package you provide (aka 0.4.2). David Douard
04:21 AM Feature #1531 (New): Provide the libvirt new guest template file as a provisionning template
The template file for creating a new libvirt guest (vendor/plugins/virt/templates/guest.xml.erb) should be optionally... David Douard
10:48 AM Feature #1532: "built" step of a libvirt guest should modify the boot order of the guest
I guess it would not be a huge amount of work to set this up, it is just a way to be consistent between bare metal an... Ohad Levy
10:45 AM Feature #1532: "built" step of a libvirt guest should modify the boot order of the guest
bOhad Levy wrote:
> Why? by default, foreman changes the tftp/gpxe configuration, so you could continue to boot from ...
David Douard
05:07 AM Feature #1532 (Feedback): "built" step of a libvirt guest should modify the boot order of the guest
Why? by default, foreman changes the tftp/gpxe configuration, so you could continue to boot from network, which in tu... Ohad Levy
04:32 AM Feature #1532 (Closed): "built" step of a libvirt guest should modify the boot order of the guest
The boot order of a libvirt guest managed by Foreman should reflect the building status of the node.
David Douard
08:25 AM Feature #1530 (Closed): Disabling puppet env in ENC should be an option
Applied in changeset commit:"1470cb16868d56e271bfeaae79fbaa0e9032b65a". Ohad Levy
03:43 AM Feature #1530 (Closed): Disabling puppet env in ENC should be an option
Since the long standing bug of puppet ENC https://projects.puppetlabs.com/issues/3910.
this option would allow users...
Ohad Levy
05:44 AM Bug #1439 (Duplicate): Foreman can only use Puppetmaster's via smartproxy that expose "Puppet CA"
Ohad Levy

03/12/2012

07:12 PM Bug #1529 (Resolved): Cannot delete an host for which puppet does not have a certificate
Hi,
While playing with provisioning (libvirt) guest hosts, I've been hit by a bug that prevent me from deleting a ho...
David Douard
04:15 PM Bug #1528 (Closed): default settings loader needs some tidying up.
Applied in changeset commit:"3cc571e024d8f5ec845f68bea83652a004703368". Mikael Fridh
11:36 AM Bug #1528 (Closed): default settings loader needs some tidying up.
some minor typos and inconsistencies.
replay -> reply
ecrypted -> encrypted
rendinging" -> rendering etc.
ignoring ...
Mikael Fridh
03:54 PM Feature #1525 (Closed): add ancestry (parent group) in json output for hostgroup
Applied in changeset commit:"a74af103be239d199e48c26713306b7162998693". Corey Osman
02:52 PM Bug #1521: Foreman open a new libvirt connection each time the hypervisor page is loaded
Corey Osman wrote:
> Ohad, my virt ESX code tried to fix this issue. I think we should be caching the libvirt object...
Ohad Levy
02:51 PM Bug #1521 (Resolved): Foreman open a new libvirt connection each time the hypervisor page is loaded
Ohad Levy
02:08 PM Bug #1521: Foreman open a new libvirt connection each time the hypervisor page is loaded
Ohad Levy wrote:
> hmm.. so can we mark this as resolved?
I did not have time to make extensive tests (as I wanted t...
David Douard
06:37 AM Feature #1527 (Rejected): Add support for per OS classes list.

Please could the addition of puppet classes to an operating system be possible just as parameters are for instance....
Steve Traylen
05:00 AM Feature #1526 (Resolved): Addition of classes/puppetclasses to hostgroup/REST
I am trying to use the REST api to create a host group programmatically. I would like to create the host group with a... Geir Hedemark
01:45 AM Smart Proxy Feature #1033: add support for DHCP vendor options to MS dhcp server impementation
What does DHCP do cause as I enabled it by accident and now i don't know if I'm even connected to my router or not?
...
Gilbert Ocrone

03/11/2012

10:41 PM Feature #1525 (Closed): add ancestry (parent group) in json output for hostgroup
I want to find out who's the hostgroup parent is. Corey Osman
01:27 AM Feature #1524 (Closed): Add more attributes to JSON index
Currently foreman only returns a arrray of hostnames as the default index action for json output.
I would like to ad...
Corey Osman
01:20 AM Bug #1521: Foreman open a new libvirt connection each time the hypervisor page is loaded
Ohad, my virt ESX code tried to fix this issue. I think we should be caching the libvirt object anyways instead of o... Corey Osman

03/08/2012

12:49 PM Bug #1523 (New): http://foreman/unattended/provision should match http://foreman/unattended/provision?spoof=xxx.xxx.xxx.xxx
I just spend the last day and half trying to figure out what was wrong with a kick start file for provisioning. In t... Trey 85Stang
08:05 AM Bug #1521 (Feedback): Foreman open a new libvirt connection each time the hypervisor page is loaded
hmm.. so can we mark this as resolved? Ohad Levy
07:25 AM Bug #1522 (Closed): search based on params sometimes fails
Applied in changeset commit:"8ce818708222104e6f63fb119b063e1abd8f79e1". Ohad Levy
06:42 AM Bug #1522 (Closed): search based on params sometimes fails
the generated SQL query is wrong Ohad Levy

03/07/2012

07:03 PM Bug #1521: Foreman open a new libvirt connection each time the hypervisor page is loaded

I have compiled libvirt-ruby 0.4.0 and the behavior seems much better. TCP connections go in state TIME_WAIT after a...
David Douard
06:40 PM Bug #1521: Foreman open a new libvirt connection each time the hypervisor page is loaded
Humm I've digged a bit, and the disconnect method of Virt.Connection is properly called. Thus the problem may reside ... David Douard
06:02 PM Bug #1521: Foreman open a new libvirt connection each time the hypervisor page is loaded
Yes, I gave a quick look at the code, which looks fine at first sigh (but I am no Rubyist).
How can I activate loggi...
David Douard
10:32 AM Bug #1521: Foreman open a new libvirt connection each time the hypervisor page is loaded
thats strange, as we ensure we close down the connection after each request
see https://github.com/theforeman/forema...
Ohad Levy
10:06 AM Bug #1521 (Resolved): Foreman open a new libvirt connection each time the hypervisor page is loaded
Foreman opens a new connection each time the page of a libvirt hypervisor is loaded, (may consume all possible libvir... David Douard
09:35 AM Feature #1520 (New): Default partition table per OS.
It should be possible to specify a default partition table for an OS.
As it is now, you have to manually choose parti...
Martin Hovmöller

03/06/2012

10:02 AM Bug #1519 (Duplicate): rails security problem
http://www.h-online.com/open/news/item/GitHub-security-incident-highlights-Ruby-on-Rails-problem-1463207.html Florian Koch
08:23 AM Feature #1518 (Closed): Force pxelinux url
When creating the url that gets written into the pxelinux.cfg configuration file when pressing the Build button, the ... Martin Hovmöller
05:32 AM Bug #1517 (Closed): The - sign for removing a class in wrong place with IE.
Hi,
For the class add / remove page for a host with firefox and chrome all is good.
With internet explorer the '-' ...
Steve Traylen
04:56 AM Bug #1516 (Duplicate): can not set puppet intervall < 10
Ohad Levy
04:47 AM Bug #1516 (Duplicate): can not set puppet intervall < 10
Hi,
setting puppet_interval in the settings < 10 generates an error in the dashboard...
Florian Koch
04:50 AM Bug #1304: Long puppet classes makes the UI not correct
any news here? Florian Koch

03/03/2012

06:35 AM Bug #1108: environment import not working properly
Faced same problem this morning. *puppetconfig* must indeed be defined in settings.yaml:... Olivier Le Cam

03/02/2012

12:00 PM Bug #1515 (Resolved): Servers fail to provision in second domain when using Foreman
Hi There,
I have an issue in which provisioning new servers in the second of my two domains via foreman fails. The ho...
Keiran Sweet
10:17 AM Bug #1512: Cannot give parameter empty value

To allow an empty var.
This came up where a global variable was set
x='y'
but then it seems not to be possible ...
Steve Traylen
05:45 AM Packaging Bug #1514 (Resolved): Add wget to rpm dependency
Hi,
foreman-proxy uses wget to download the pxe images to the tftp server, so wget should pulled in as dependency.
...
Florian Koch

02/29/2012

03:14 PM Bug #1506: failed to remove instance storage
I thought I had - but there maybe a "more or less" in there. Not a huge fan of programs pulling in lots of dependenc... Adrian Bridgett
08:29 AM Bug #1498: unattended provisioning with foreman login enabled
So I checked source codes and its now clear. Its just bad misinterpretation from my side.
But at least documentation ...
Peter Velas
08:10 AM Feature #1513 (Closed): RFE: more granular support for RedHat Enterprise Linux
Since RHEL has several branched distros within it, it would be helpful to differentiate between them. For example, RH... Jim Perrin
05:31 AM Smart Proxy Feature #1033: add support for DHCP vendor options to MS dhcp server impementation
The DHCP server can be configured so that a JumpStart client can use DHCP, rather than the traditional JumpStart mech... alicson katich

02/28/2012

08:37 AM Bug #1512: Cannot give parameter empty value
do you want to allow an empty var or are you complaining that by changing to empty var it keeps the old value?
see al...
Ohad Levy
08:21 AM Bug #1512 (Duplicate): Cannot give parameter empty value
Setting parameter with "Name=hello", "Value=world" works fine.
Changing the value to an empty string seems to be a...
Jan van Eldik
07:49 AM Bug #1511 (Closed): EPEL repo has changed
Applied in changeset commit:"91f087cd0ae9df410ffcfa74aa81d26ae78a4927". Ohad Levy
07:00 AM Bug #1511 (Closed): EPEL repo has changed
Ohad Levy
03:03 AM Bug #1506: failed to remove instance storage
I had no problem running 0.5 on deb 6, are you sure you followed the instructions (e.g. using bundle etc)?
Ohad Levy

02/27/2012

06:32 AM Feature #1509 (Closed): Foreman should use the proxy to import puppet classes
Applied in changeset commit:"a989a6171e3130f50933e7d6694ab416c8f69cda". Ohad Levy
05:39 AM Feature #1509 (Closed): Foreman should use the proxy to import puppet classes
It makes little sense for foreman to require the modules and manifests locally on the foreman server.
since the prox...
Ohad Levy
05:50 AM Bug #1506: failed to remove instance storage
Sure, it's a Debian 6.0 install, it's running under mod_passenger.
Full stack track of the original problem:
uninit...
Adrian Bridgett
05:47 AM Bug #1506: failed to remove instance storage
thats odd, can you provide some more info about the os you are trying it on?
I'll try to produce
Ohad Levy
05:37 AM Bug #1506: failed to remove instance storage
I've just tried to do that (oh, what fun..) and had to revert after a while. I had fun with gems to begin with, but e... Adrian Bridgett
03:59 AM Bug #1506 (Feedback): failed to remove instance storage
Thanks,
Sadly the deb nightly are broken, and they do not represent the latest code anymore (Actually, they might be...
Ohad Levy
03:57 AM Bug #1506: failed to remove instance storage
Hi Ohad,
If I click More -> Hypervisors -> (hypervisor name) the hosts are listed with Storage=default. Clicking on...
Adrian Bridgett
05:40 AM Feature #1510 (Closed): Send a email after a host build has completed
Have the possibility for Foreman to send a email after a host build has completed.
The user can define/change the ...
Nicolas Vogel
03:06 AM Bug #1395 (Closed): Host creation: select network fails when domain is pre defined in hostgroup
Hi,
can't reproduce this , maybe a browser bug, after the last firefox update i am not able to reproduce this.
rgds...
Florian Koch
02:55 AM Smart Proxy Feature #1508 (Duplicate): Run a wide search on DHCP for IP address
I had a scenario were i had to search for IP related to a MAC i already had but i didn't have the network.
There for...
Avi Tal

02/26/2012

08:04 PM Installer Bug #1507 (Closed): Documnetation / integration with puppet / webrick stuff
Trying to integrate foreman with puppet, using webrick, i hit an issue very similar to this one: http://theforeman.or... Frederik Nosi
03:24 AM Feature #1464: Parameters in subnets
Hi -
Sorry for the delay, I was looking for a few time in order for me to give smart variables a try (never used the...
Olivier Le Cam
02:37 AM Bug #1498 (Feedback): unattended provisioning with foreman login enabled
normally, when a server request the kickstart (not using the spoof option) this should work.
your servers should not ...
Ohad Levy
 

Also available in: Atom